1. 程式人生 > >docker-2.容器

docker-2.容器

掛載 倉庫 root body 重新啟動 保存 文件系統 啟動 res

創建容器

docker create -it ubuntu

創建並以交互模式啟動容器

docker run -it ubuntu /bin/bash

--rm 容器在停止運行時刪除,不可與-d同時使用

當運行docker run時,docker在後臺運行的標準操作包括:

檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載。

利用鏡像創建並啟動一個容器。

分配一個文件系統,並在只讀的鏡像層外面掛載一層可讀寫層。

從宿主主機配置的網橋接口中橋接一個虛擬接口到容器中去。

從地址池配置一個IP地址給容器。

執行用戶指定的應用程序。

執行完畢後容器被終止。

守護態運行

docker run -d ubuntu /bin/sh -c "while true; do echo hello-world; sleep 2; done"

獲取容器輸出信息

docker logs a3f

hello-world

hello-world

......

終止容器

docker stop a3f

啟動/重新啟動 處於終止狀態的容器

docker start/restart a3f

進入容器

docker attach a3f

容器內運行命令

docker exec 4323 echo "hello-world"

hello-world

刪除容器

docker rm 4323

-f 強制終止並刪除正在運行的容器

-l 刪除容器的連接,保留容器

-v 刪除容器掛載的數據卷

導出容器

docker export 4323 > ubuntu.tar

ll -h

-rw-r--r-- 1 root root 98M Oct 22 11:02 ubuntu.tar

導入容器為鏡像

cat ubuntu.tar |docker import - admin/ubuntu:16.04

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

admin/ubuntu 16.04 17b99abe5e0e 7 seconds ago 98.33 MB

docker load 與docker import區別

容器快照文件將丟棄所有的歷史記錄和元數據信息(即僅保存容器當時的快照狀態),而鏡像存儲文件將保存完整記錄,體積也要大。此外,從容器快照文件導入時可以重新指定標簽等元數據信息。

docker-2.容器