2、容器
啓動:
啓動容器有兩種方式,一種是基於鏡像新建一個容器並啓動,另一個是將在終止狀態(stopped)的容器從新啓動。
一、新建並啓動:
所須要的命令主要爲 docker run。
如,啓動一個 bash 終端,容許用戶進行交互。
$ docker run -t -i ubuntu:18.04 /bin/bash
root@af8bae53bdd3:/#
其中,-t 選項讓Docker分配一個僞終端(pseudo-tty)並綁定到容器的標準輸入上, -i 則讓容器的標準輸入保持打開。
當利用 docker run 來建立容器時,Docker 在後臺運行的標準操做包括:
-
檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載
-
利用鏡像建立並啓動一個容器
-
分配一個文件系統,並在只讀的鏡像層外面掛載一層可讀寫層
-
從宿主主機配置的網橋接口中橋接一個虛擬接口到容器中去
-
從地址池配置一個 ip 地址給容器
-
執行用戶指定的應用程序
-
執行完畢後容器被終止
二、啓動已終止容器
docker container start 命令,直接將一個已經終止的容器啓動運行。
後臺運行
讓 Docker 在後臺運行而不是直接把執行命令的結果輸出在當前宿主機下。 經過添加 -d 參數來實現。
終止
docker container stop 來終止一個運行中的容器。
當 Docker 容器中指定的應用終結時,容器也自動終止。
進入容器
容器在後臺運行時, 進入容器進行操做,包括使用 docker attach 命令或 docker exec 命令,推薦你們使用 docker exec 命令
1、attach 命令
注意: 若是從這個 stdin 中 exit,會致使容器的中止。
2、exec 命令
docker exec 後邊能夠跟多個參數, -i -t 參數。
只用 -i 參數時,因爲沒有分配僞終端,界面沒有咱們熟悉的 Linux 命令提示符,但命令執行結果仍然能夠返回。
當 -i -t 參數一塊兒使用時,則能夠看到咱們熟悉的 Linux 命令提示符。
若是從這個 stdin 中 exit,不會致使容器的中止。推薦使用 docker exec 的緣由。
導出和導入容器
導出本地某個容器, 容器快照到本地文件
$ docker export 7691a814370e > ubuntu.tar
導入容器快照
可使用 docker import 從容器快照文件中再導入爲鏡像
注:用戶既可使用 docker load 來導入鏡像存儲文件到本地鏡像庫,也可使用 docker import 來導入一個容器快照到本地鏡像庫。這二者的區別在於容器快照文件將丟棄全部的歷史記錄和元數據信息(即僅保存容器當時的快照狀態),而鏡像存儲文件將保存完整記錄,體積也要大。此外,從容器快照文件導入時能夠從新指定標籤等元數據信息。