容器看着像機器,實際是進程,是一個運行時程序。python
要操做一個 Docker 容器,只須要執行 docker container 命令。 能夠經過 help 查看nginx
基礎使用:web
docker container run nginx
複製代碼
Docker 會到本地區查找有沒有叫作 nginx 的鏡像(鏡像這篇暫不涉及)。若是沒有,會在 Docker Hub 官方倉庫當中下載。docker
Docker 每條命令裏都有可選參數。如下是 run 常常使用的一些可選參數:shell
-p / --publish
編輯器
開放端口。好比開放容器的 80 端口和 22 端口,分別映射到宿主機的 8000 和 5000 端口。nginx 必需要開放端口才可使用。ui
docker container -p 8000:80 -p 5000:22 nginx
複製代碼
-d / --detach
spa
後臺運行,打印容器 ID。命令行
沒有後臺運行時,會顯示 nginx 的日誌:調試
後臺運行之後,打印容器 ID 後能夠接着作其餘的事:
--name
給容器取一個名字,更容易記得住。 默認容器名稱是隨機生成的。
-e / --env
給容器添加環境變量。
-i, --interactive
開啓交互式模式。
-t / --tty
開啓 tty。
-i 和 -t 常常組合在一塊兒使用,能夠在容器中輸入 shell 命令。 好比經過 Docker 安裝一個 python 環境,而後在命令行運行 python:
docker container run -it python:3.7-alpine python
複製代碼
運行之後,能夠直接獲取 python 終端進行調試:
使用交互式進入已經在運行的容器:
docker container exec -it container_id
複製代碼
--rm
退出容器時自動刪除容器,一般用在調試過程當中。
-v / --volume
添加 volume 數據卷(數據卷是宿主機和容器之間的數據通道,這裏暫不討論。)
查看某個容器運行的日誌。
docker container logs container_id
複製代碼
中止容器運行
docker container stop container_id(name)
複製代碼
刪除容器
docker container rm container_id(name)
複製代碼
基礎使用:
docker container ls
複製代碼
能夠選擇的參數:
-a / --all
展現全部的容器,包含運行的和沒有運行的。
-q / --quiet
只顯示 IDs。
-f / --filter
篩選容器。
列舉全部退出的容器,並顯示 ID:
docker container ls -aq -f "status=exited"
複製代碼
刪除全部退出的容器:
docker container rm $(docker container ls -aq -f "status=exited") --force
複製代碼
更多文章關注公號:雨哥寫 python