一張圖讀懂 docker 命令

一張圖讀懂 docker 命令

docker 命令比較多,本文從容器使用流程圖,介紹 docker 主要命令(version1.2 )與概念。試圖回答 down 機後使用者資料怎麼儲存之類的問題。

準備

  • 假定完成了 centos 7 的 docker 安裝,詳細參見:
  • 假定使用 mysql docker 映象部署 mysql 服務,詳細參見:

1、基本知識

命令格式:

sudo docker [COMMAND] [ARGS]

建議閱讀

  • docker 與 Linux 名稱空間(NameSpace) 1
  • docker 映象配置,這與 docker run 引數直接相關2

2、使用流程圖

commands

3、主要命令

3.1 最重要命令-幫助

sudo docker --help
sudo docker ps --help

3.2 遠端倉庫

search 很少用阿, 一般直接上 hub.docker.com 官方映象文件都在上面。 阿里雲加速器也不錯。

sudo pull name:tag

最常用

3.3 本地映象管理

  • 列表 sudo docker images
  • 刪除 sudo docker rmi name:tag
  • 與其他機器交換映象 load/save

3.4 建立容器與儲存映象

  • 執行 sudo docker run ... 太複雜,清認真學習參考文獻
  • commit 將當前容器產生的檔案(增量)與配置存為映象

3.5 容器管理

  • inspect 檢查容器的設定
  • ps 容器列表。 -a 包含不活動的容器 -q 容器ID列表(通過管道做批量操作)
  • exec 執行活動容器中的程式。常見 sudo docker exec image-name /bin/bash
  • logs 列印後臺容器輸出
  • port 檢查容器埠對映
  • rm 停止容器,並清理容器產生的輸出或修改的檔案
  • 容器狀態 pause/unpause , stop/kill/start/restart 等

3.6 修改容器內檔案

不是真改,新增一層檔案空間而已。

  • cp 與本地檔案系統交換檔案資料

4、常見問題

  1. run exec 忘加引數 -it -rm 無法與容器互動

重新開啟一個終端,rm 它

  1. 保持容器執行

網上有新增 sshd 服務等 deamon 維持容器執行。但這樣做的目的?
如果是建立新映象,build 就OK了;如果執行命令,run -it -rm 很好用。

【參考】


  1. 《自己動手寫Docker》書摘之一: Linux Namespace。 https://yq.aliyun.com/articles/64928
  2. docker run 命令。 http://www.open-open.com/lib/view/open1422492851548.html