Docker 服務常用命令
- 設定 Docker 服務自動啟動
sudo systemctl enable docker.service
- 啟動 Docker 服務
sudo systemctl start docker.service
- 關閉 Docker 服務
sudo systemctl stop docker.service
- 檢視 Docker 服務狀態
sudo systemctl status docker.service
Docker 映象常用命令
- 搜尋映象:可使用 docker search 命令搜尋存放在 Docker Hub 中的映象,顯示的資訊包括:
屬性 |
描述 |
---|
NAME |
映象倉庫名稱 |
DESCRIPTION |
映象倉庫描述 |
STARS |
映象倉庫收藏數 |
OFFICAL |
是否官方庫 |
AUTOMATED |
是否自動構建的映象倉庫 |
docker search java
- 下載映象:通過 docker pull 命令從 Docker Registry 上下載映象
docker pull java
docker pull reg.itmuch.com/java:7 //指定下載映象的標籤以及 Docker Registry
- 列出映象,顯示的資訊包括:
屬性 |
描述 |
---|
REPOSITORY |
映象所屬倉庫名 |
TAG |
映象標籤,預設是 latest,表示最新 |
IMAGE ID |
映象ID |
CREATED |
映象建立時間 |
SIZE |
映象大小 |
docker images
- 刪除本地映象
docker rmi hello-world #刪除指定名稱映象
docker rmi -f $(docker images) #刪除所有映象
Docker 容器常用命令
- 通過 docker run 新建並啟動容器,還可以附加一些常用選項
- -d:表示後臺執行
- -P:隨機埠對映
- -v:指定掛載目錄
- -it:建立一個互動式的容器
- -p:指定埠對映,ip 表示主機 IP、hostPort 表示宿主主機埠、containerPort 表示容器埠,有以下四種格式:
- ip:hostPort:containerPort
- ip:containerPort
- hostPort:containerPort
- containerPort
- -network:指定網路模式,該選項有以下可選引數
- -network=bridge:預設選項,表示連線到預設的網橋
- -network=host:容器使用的宿主機器的網路
- -network=container:NAME_or_ID:告訴 Docker 讓新建的容器使用已有的容器網路配置
- -network=none:不配置容器網路,使用者可自定義網路配置
- 下面命令會讓終端列印 Hello World 字樣,跟在本地直接執行 /bin/echo 'Hello World' 一樣
docker run java /bin/echo 'Hello World'
- 啟動一個 Nginx 容器(預設Nginx配置為80埠),指定宿主機埠(這裡指定埠為91),當訪問 http://Docker宿主機IP:91/ 時會對映到容器80埠中,即可看到 Nginx 主頁
docker run -d -p 91:80 nginx
docker run 命令在建立容器時,會檢查本地是否存在指定映象,如果不存在則從 Docker Hub 下載並啟動
- 列出容器
- 使用 docker ps 命令即可列出執行中的容器,顯示的資訊包括:
屬性 |
描述 |
---|
CONTAINER_ID |
容器ID |
IMAGE |
映象名稱 |
COMMAND |
啟動容器時執行的命令 |
CREATED |
容器建立的時間 |
STATUS |
容器執行的狀態,UP 表示執行中,Exited 已停止 |
PORTS |
容器對外埠號 |
NAMES |
容器名稱,預設由 Docker 自動生成,也可使用 docker run --name 選項指定 |
docker ps
docker ps -a #顯示容器,包含停止的容器
- 停止容器
- 使用 docker stop 命令停止容器,784fd3b294d7 為容器 ID,也可使用容器名稱來停止容器
docker stop 784fd3b294d7
docker kill 784fd3b294d7
- 啟動停止的容器
- 通過 docker run 命令即可新建並啟動一個容器,對於已停止的容器,可使用 docker start 命令來啟動
docker start 784fd3b294d7
- 重啟容器
- 可使用 docker restart 命令來重啟容器
docker restart
- 進入容器
nsenter --target "$PID" --mount --uts --ipc --net --pid
- 刪除容器
- 使用 docker rm 命令刪除指定容器,該命令只能刪除停止執行的容器
docker rm 784fd3b294d7
docker rm -f $(docker ps -a -q)
- 資料拷貝
- 獲取容器/映象的後設資料
- 通過 docker inspect 來獲取後設資料,包含掛載目錄資訊等
docker inspect linyuantongxue/docker-demo:0.0.1
Docker 掛載目錄