【Docker學習筆記3Day】- 基礎命令

拉取鏡像

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章