拉取鏡像
docker pull : 從鏡像倉庫中拉取或者更新指定鏡像
常用命令:
- -a :拉取所有 tagged 鏡像
- –disable-content-trust :忽略鏡像的校驗,默認開啓
實例:
從Docker Hub下載ubuntu最新版鏡像。
docker pull ubuntu
從Docker Hub下載REPOSITORY爲ubuntu的所有鏡像。
docker pull -a ubuntu
從Docker Hub下載ubuntu指定版本版鏡像。
docker pull ubuntu:16.04
查看鏡像
docker images : 列出本地鏡像。
常用命令:
- -a :列出本地所有的鏡像(含中間映像層,默認情況下,過濾掉中間映像層);
- –digests :顯示鏡像的摘要信息;
- -f :顯示滿足條件的鏡像;
- –format :指定返回值的模板文件;
- –no-trunc :顯示完整的鏡像信息;
- -q :只顯示鏡像ID。
實例:
列出本地鏡像中REPOSITORY所有的鏡像列表。
docker images
列出本地鏡像中REPOSITORY爲ubuntu的鏡像列表。
docker images ubuntu
刪除鏡像
docker rmi :刪除一個或多個鏡像。
常用命令:
- -f :通過 SIGKILL 信號強制刪除一個運行中的容器。
實例:
刪除鏡像 ubuntu
docker rmi ubuntu
強制刪除鏡像 ubuntu
docker rmi -f ubuntu
運行鏡像 -(生成容器)
docker run :創建一個新的容器並運行一個命令
常用命令:
- -d: 後臺運行容器,並返回容器ID;
- -i: 以交互模式運行容器,通常與 -t 同時使用;
- -t: 爲容器重新分配一個僞輸入終端,通常與 -i 同時使用;
- -p: 指定端口映射,格式爲:主機(宿主)端口:容器端口;
- –name=“nginx-lb”: 爲容器指定一個名稱;
- –expose=[]: 開放一個端口或一組端口;
實例:
使用docker鏡像以交互模式運行容器。
docker run -it ubuntu
使用docker鏡像nginx:latest(鏡像名稱:版本)以後臺模式啓動一個容器,並將容器命名爲mynginx。
docker run --name mynginx -d nginx:latest
使用docker鏡像nginx:latest以後臺模式啓動一個容器,並將容器命名爲mynginx。
docker run --name mynginx -d nginx:latest
綁定容器的 8080 端口,並將其映射到本地主機 127.0.0.1 的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
使用鏡像nginx:latest以交互模式啓動一個容器,在容器內執行/bin/bash命令。
docker run -it nginx:latest /bin/bash
創建容器
docker create :創建一個新的容器但不啓動它
命令同 run
啓動容器
docker start :啓動一個或多個已經被停止的容器
實例:
啓動已被停止的容器myrunoob
docker start myrunoob
停止容器
docker stop :停止一個運行中的容器
實例:
停止運行中的容器myrunoob
docker stop myrunoob
重啓容器
docker restart :重啓容器
實例:
重啓容器myrunoob
docker restart myrunoob
刪除容器
docker rm :刪除一個或多個容器。
常用命令:
- -f :通過 SIGKILL 信號強制刪除一個運行中的容器。
- -l :移除容器間的網絡連接,而非容器本身。
- -v :刪除與容器關聯的卷。
實例:
刪除容器 ubuntu
docker image rm ubuntu
強制刪除容器 ubuntu
docker image rm -f ubuntu
刪除所有已經停止的容器:
docker rm $(docker ps -a -q)
查看容器
docker ps : 列出容器
常用命令:
- -a :顯示所有的容器,包括未運行的。
- -f :根據條件過濾顯示的內容。
- –format :指定返回值的模板文件。
- -l :顯示最近創建的容器。
- -n :列出最近創建的n個容器。
- –no-trunc :不截斷輸出。
- -q :靜默模式,只顯示容器編號。
- -s :顯示總的文件大小。
實例:
查看已運行的容器信息
docker ps
查看所有的容器信息,包括未運行的。
docker ps -a
連接容器
docker attach :連接到正在運行中的容器。
實例:
連接到id爲a21a4335bf61的容器
docker attach a21a4335bf61
獲取長容器ID
docker inspect : 獲取容器/鏡像的元數據。
常用命令:
- -f :指定返回值的模板文件。
- -s :顯示總的文件大小。
- –type :爲指定類型返回JSON。
實例:
查看focused_morse容器的長ID
docker inspect -f '{{.ID}}' focused_morse
拷貝本地文件到容器
docker cp :用於容器與主機之間的數據拷貝。
常用命令:
- -L :保持源目標中的鏈接
實例:
將主機/xxx/runoob目錄拷貝到容器96f7f14e99ab的/xxx目錄下。
docker cp /xxx/runoob 96f7f14e99ab:/xxx/
將主機/xxx/runoob目錄拷貝到容器96f7f14e99ab中,目錄重命名爲xxx。
docker cp /xxx/runoob 96f7f14e99ab:/xxx
將容器96f7f14e99ab的/xxx目錄拷貝到主機的/tmp目錄中。
docker cp 96f7f14e99ab:/xxx/tmp/
打包創建 鏡像
docker build 命令用於使用 Dockerfile 創建鏡像。
常用命令:
- -f :指定要使用的Dockerfile路徑;
- –rm :設置鏡像成功後刪除中間容器;
- –tag, -t: 鏡像的名字及標籤,通常 name:tag 或者 name 格式;可以在一次構建中爲一個鏡像設置多個標籤。
實例:
使用當前目錄的 Dockerfile 創建鏡像,標籤爲 runoob/ubuntu:v1,保存當前目錄
docker build -t runoob/ubuntu:v1 .
使用指定/path/to/a/目錄的 Dockerfile 創建鏡像,標籤爲 runoob/ubuntu:v1,保存當前/home/xxx目錄
docker build -f /path/to/a/Dockerfile -t runoob/ubuntu:v1 /home/xxx
導出鏡像
docker save : 將指定鏡像保存成 tar 歸檔文件。
常用命令:
-o :輸出到的文件。
實例:
將鏡像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文檔
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
將鏡像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文檔,保存在/home/目錄下
docker save runoob/ubuntu:v3 > /home/my_ubuntu_v3.tar
導入鏡像
docker load : 導入使用 docker save 命令導出的鏡像。
常用命令:
- –input , -i : 指定導入的文件,代替 STDIN。
- –quiet , -q : 精簡輸出信息。
實例:
將鏡像 my_ubuntu_v3.tar文件,導入docker
docker load < /home/my_ubuntu_v3.tar