日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

操作Docker容器

發布時間:2025/6/17 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 操作Docker容器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

操作Docker容器

容器是獨立運行的一個或一組應用,以及它們的運行態環境。對應的,虛擬機可以理解為模擬運行的一整套操作系統(提供了運行態環境和其他系統環境)和跑在上面的應用。

啟動容器:

啟動容器有兩種方式,一種是基于鏡像新建一個容器并啟動,另外一個是將在終止狀態(stopped)的容器重新啟動。因為Docker容器是在太輕量級了,很多時候用戶都是隨時刪除和新創建容器。

?

新建并啟動:主要命令為?docker?run

docker?run?ubuntu:18.04?/bin/echo?'Hello?world'

如果鏡像存在就直接啟動了,如果不存在就是自動從官方倉庫拉取下載之后并啟動,我本機是有這個鏡像,直接就輸出?Hello?world?了。

下面的命令則啟動一個bash終端,允許用戶進行交互。

docker?run?-t?-i?ubuntu:18.04?/bin/bash

啟動-t?選項讓Docker分配一個偽終端(pseudo-tty)并綁定到容器的標準輸入上,-i?則讓容器的標準輸入保持打開。在交互模式下,可以通過所有創建的終端來輸入命令。

?

當利用docker?run?來創建容器時,Docker在后臺運行的標準操作包括:

  • 檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載
  • 利用鏡像創建并啟動一個容器
  • 分配一個文件系統,并在制度的鏡像層外面掛載一層可讀寫層
  • 從宿主主機配置的網橋接口中橋接一個虛擬接口到容器中去
  • 從地址池配置一個ip地址給容器
  • 執行用戶指定的應用程序
  • 執行完畢后容器被終止
  • 啟動已終止容器Docker?container?start??(或者直接docker?start)

    停止和關閉是stop和restar

    ?

    后臺運行

    更多時候,需要讓docker在后臺運行而不是直接把執行結果輸出在當前宿主機下,通過-d參數實現。

    例子:

    不使用-d參數

    docker?run?ubuntu:18.04?/bin/sh?-c?"while?true;?do?echo?hello?world;sleep?1;?done"

    ?

    容器會把輸出的結果(STDOUT)打印到宿主機上面,直接強制退出的話,容器就退出了。

    如果使用-d的話

    docker?run?-d?ubuntu:18.04?/bin/sh?-c?"while?true;?do?echo?hello?world;sleep?1;?done"

    9a615ec487e9dfd4d246d391fb804e786610a45239cda2e8687e43a70580566d

    不會有輸出,就直接輸出容器的id,此時容器會在后臺運行并不會把輸出結果(STDOUT)打印到宿主機上面(輸出結果可以用docker?logs?查看)

    ?

    使用-d?參數啟動后會返回一個唯一的id,也可以通過docker?container?ls命令來查看容器信息。

    ?

    進入容器

    ????在使用-d參數時,容器啟動后會進入后臺。

    ????某些時候需要進入容器進行操作,包括使用docker?attach命令或者docker?exec?命令,推薦使用exec,因為attach可能導致容器退出。

    ?

    attach命令

    docker?run?-dit?ubuntu

    docker?container?ls

    docker?attach?655bdc811cd8

    此時已經進入了終端?exit,后容器就會直接停止,可以通過docker?container?ls再看下,發現退出了。

    ?

    exec命令

    -i?-t?參數,docker?exec?后邊可以跟多個參數,這里是-i?-t參數。(交互+偽終端)

    ?

    exit退出后不會跟attach一樣導致容器直接也退出了。

    ?


    導出和導入容器

    導出:docker?export

    例子:

    docker?container?ls?-a

    docker?export?0e172d70f90e?>?ubuntu.tar

    ?

    那個紅色的就是容器導出來的快照文件。

    ?

    導入快照?docker?import

    cat?ubuntu.tar?|?docker?import?-?test/ubuntu:v1.0

    ?

    也可以通過指定?URL?或者某個目錄來導入

    docker?import?http://example.com/exampleimage.tgz?example/imagerepo

    ps:用戶即可以使用docker?load?來導入鏡像存儲文件到本地鏡像庫,也可以使用docker?import來導入一個容器快照到本地鏡像庫。區別是容器快照文件將丟棄所有的歷史記錄和元數據信息(即僅保存容器當時的快照狀態),而鏡像存儲文件將保存完整記錄,體積也大。從容器快照文件導入是可以重新制定標簽等元數據信息。


    刪除容器

    Docker?container?rm刪除終止狀態的容器。如果是刪除運行中的容器?可以添加-f,Docker會發送SIGKILL信號給容器。如果是一次性清理所有終止狀態的容器可以直接

    docker?container?prune

    ?

    ?

    總結

    以上是生活随笔為你收集整理的操作Docker容器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。