🐳Docker經常使用命令

一.幫助命令

  • docker version : 查看Docker版本信息html

  • docker info : 查看Docker信息python

  • docker --help : 查看幫助信息nginx

二.登入命令

  • docker login [參數] [鏡像倉庫URL]

792e65bc759cf149299d8e326e23834

  • 參數--username=xxx : 指定阿里雲用戶名(我用的是阿里雲)
  • passwd : 是建立倉庫時的密碼
  • url : 倉庫連接

d8a5d816fd656e2a4b07d8d821de00f

三.獲取鏡像

  • 格式 : docker pull [鏡像倉庫URL]/[命名空間名稱]/[倉庫名稱]:[鏡像版本號]
  • 示例 : docker pull docker.io/library/busybox:latest
URL docker.io
命名空間 library
倉庫名稱 busybox
版本號 latest
  • 簡化 : docker pull busybox:latest (.....)

09f4ce0690e70577af308e9c188718c

三.查看鏡像信息

  • docker images [參數] / docker images ls [參數] 列出本地主機上的鏡像

1643a3abec03ff935e720abdbc3b903

  • 選項說明
REPOSITORY 倉庫名字
TAG 版本號(latest:表示最新版本)
IMAGE ID 鏡像ID
CREATED 鏡像建立時間到如今
SIZE 鏡像文件的體積
🔰同一倉庫源能夠有多個"TAG",表明這個倉庫源的不一樣個版本,咱們使用" REPOSITORY:TAG" 來定義不一樣的鏡像

🔰若是你不指定一個鏡像的版本標籤,例如你只使用"ubuntu","docker"將默認使用"ubuntu:latest"鏡像
  • 參數說明

-a : 顯示全部鏡像, 包括臨時鏡像golang

-q : 只顯示鏡像 IDdocker

1f75a56e048d41ea1041f06a19d73dc

--digests : 顯示鏡像再要信息ubuntu

--no-trunc : 顯示完整的鏡像信息瀏覽器

四.爲鏡像打 TAG

  • 格式 : docker tag [原鏡像倉庫url]/[原鏡像命名空間]/[原鏡像倉庫名稱]:[版本號] [新鏡像倉庫url]/[新鏡像命名空間]/[新鏡像倉庫名稱]:[版本號]
  • 示例 : docker tag busybox:latest registry.cn-shanghai.aliyuncs.com/python16-shawn/busybox:v1

7a737c5c78d0158137c53537350349a

五推送鏡像

  • 格式 : docker push [鏡像倉庫URL]/[命名空間名稱]/[倉庫名稱]:[版本號]
  • 示例 : docker push registry.cn-shanghai.aliyuncs.com/python16-shawn/busybox:v1

d8af1f57ccd7661a4f07b59fb243e84

在看看個人阿里雲鏡像倉庫ssh

ab9862e7b56122607ffa8430f39736b

六.獲取鏡像詳細信息

  • 格式 : docker inspect [鏡像ID] / [鏡像名稱:版本號]
  • 示例 : docker inspect busybox:latest
  • -f : 用"golang"語言模板語法獲取鏡像想換信息

c4727a121bb8705400351583fb9a7b1

七.查看歷史鏡像

  • 格式 : docker history [鏡像名字:鏡像版本號] / [鏡像ID]
  • 示例 : docker history dc3bacd8b5ea

9bac35c330d5d9d9024a200214d1159

八.搜索鏡像

  • 格式 : docker search [所搜索的鏡像名稱] [參數]
  • 示例 : docker search python

499bfebd2195ecf8b6e1238f11aca14

  • 列表參數
NAME 倉庫名稱
DESCRIPTION 描述
STARS 收藏個數
OFFICIAL 是不是官方鏡像
AUTOMATED 是不是自構建的鏡像
  • 命令行參數

-f : 過濾 示例: docker search python -f stars=300 (收藏300的)ui

3bb36539449c4a10e3dbebc98a12f33

-s :列出蒐藏不小於指定值的鏡像 : 示例 : docker search python -s 300阿里雲

73ee1ba575bc6d14580518602f815f7

--automated : 只列出 automated build 類型的鏡像

4c600b6fbeadc8f18b22eba3b03fcf3

--limit : 顯示查詢條數

九.刪除和清理鏡像

  • 格式 : docker rmi [鏡像名稱:版本號] / [鏡像ID]

  • -f : 強制刪除

1.刪除單個示例

  • docker rmi -f bf756fb1ae65

699cb59d21407dceba953e5d188c2e5

2.刪除多個

  • docker rmi -f [鏡像名1:TAG] [鏡像名2:TAG]...

3.刪除所有

  • docker rmi -f $(docker images -qa)

17f5f95ffa348426fd4c2fb24c274a0

4.清理鏡像

  • 格式 : docker image prune [參數]
  • 參數 : -a (all) 清理全部沒有被使用的鏡像
  • -f : 強制

十.保存鏡像

  • 格式 : docker commit [參數] [容器ID] / [容器名稱:版本號]
  • 參數:
-a 指定做者
-m 簡介
-p 保存鏡像時,鏡像暫停運行

十一.運行一個容器

前提 : 有鏡像才能建立容器, 能夠先下載一個: docker pull nginx

  • 格式 : docker run [參數] [鏡像名稱/鏡像ID] [執行的命令(默認執行指定的命令)]
  • 參數:
-d 以守護進程的方式運行
-p 指定端口映射(格式:宿主主機端口:容器向外暴露的端口)
-P 隨機端口映射
--name 指定容器的名稱(同一臺宿主主機上的docker名稱不能重複)
--rm 當一個容器結束了它的生命週期,就當即刪除
-v 映射存儲卷(能夠映射文件及文件夾)
-i 打開標準輸出(一般與 t 連用)
-t 建立一個僞終端
-e 在容器內設置一個環境變量
  • 示例
"-d","-p"
docker run -d -p 8899:80 nginx:1.19.2
"-P"
docker run -d -P nginx:1.19.2
"--name"
docker run -d --name nginx_name -P nginx:1.19.2
"--rm"
docker run -d --rm --name nginx_rm nginx:1.19.2
"-v"
docker run -d -v /root/test:/usr/share/nginx/html nginx:1.19.2
"-e"
docker run -d -e NGINX_NAME=nginx nginx:1.19.2
  • 本地查看

52f2cc79571af1d9df47d937d4bb586

  • 瀏覽器查看

4d878b34aa1bad0b7f03752484cbf53

ps : docker 當中至少有一個應用此程序運行在前臺

十一.容器相關命令

1.列出當前全部正在運行的容器

  • docker ps
  • 參數:
-a 列出當前全部正在運行的容器+歷史上運行過的
-l 顯示最近建立的容器
-n 顯示最近n個建立的容器
-q 靜默模式,只顯示容器ID

2.退出容器

  • exit : 容器中止退出
  • Ctrl+P+Q : 容器不中止退出

3.啓動容器

  • docker start [容器ID / 容器名]

4.重啓容器

  • docker restart [容器ID / 容器名]

5.中止容器

  • docker stop [容器ID / 容器名]
  • docker stop -f $(docker ps -qa) (全部)

6.強制中止容器

  • docker kill [容器ID / 容器名]

7.刪除已中止的容器

  • docker rm [容器ID]
  • docker rm -f $(docker ps -qa)

十二.導入、導出鏡像

1.針對容器進行導出導入

  • export : 將容器保存爲鏡像
  • import : 將 export 導出的包導入爲鏡像-(可自定義鏡像名字)
  • 格式 : docker export [容器名或ID] > [壓縮包名稱]

image-20201201205850158

  • 格式 : docker import [壓縮包名稱] [鏡像名稱]:[版本號]

image-20201201210245092

ps : 經過docker run -d -P nginx_song:v22 nginx -g 'daemon off;'運行導入的容器導出的鏡像

2.針對鏡像進行導出導入

  • save : 保存鏡像, (當使用鏡像ID保存鏡像,導入時沒有鏡像名稱)
  • load : 導入鏡像,不能自定義名稱, save保存的更完整
  • 格式 : docker save [鏡像名或ID] > [壓縮包名稱]

image-20201201211035163

  • 打包多個格式 : docker save -o [壓縮包名稱] [鏡像名稱或ID ...]

image-20201201211319690

  • 格式 : docker load < [壓縮包名稱]

image-20201201211836092

image-20201201212320583

十三.進入容器(經常使用)

1.attach

  • 格式 : docker attach [容器名或ID]
  • 會隨着退出而中止容器的運行

image-20201201214705914

2.exec

  • 格式 : docker exec [參數] [容器名或ID] [命令]
  • 至關於在容器裏面執行了一個命令

image-20201201215238915

3.nsenter

  • 配合 docker inspect 來使用
  • 格式示例 : nsenter --target $( docker inspect -f {{.State.Pid}} nginxv1 ) --mount --uts --ipc --net --pid

4.ssh

  • ssh遠程鏈接進入Docker

十四.複製

1.從容器內複製文件到宿主機

  • 格式 : docker cp [容器ID:容器內文件路徑] 宿主主機路徑

image-20201201215912355

2.從宿主機複製文件到容器

  • 格式 : docker cp 宿主主機路徑 [容器ID:容器內文件路徑]

image-20201201220308373

相關文章
相關標籤/搜索