基礎命令
docker version docker info docker --help
映象命令
檢視
docker images
其中:
-
REPOSITORY:表示映象的倉庫源
-
TAG:映象的標籤(預設的版本標籤為 latest,拉映象時可以指定 TAG)
-
IMAGE ID:映象ID
-
CREATED:映象建立時間
-
SIZE:映象大小
命令的選項有:
- -a:列出本地所有的映象
- -q:只顯示映象 ID
- --digests:顯示映象的摘要資訊
- --no-trunc:顯示完整的映象資訊
其中最常用的為
docker images -qa
搜尋
docker search [映象名]
常見的命令選項有:
- --no-trunc:顯示完整的映象描述
- -s:列出星星數不小於指定值的映象
- --automated:列出所有自動構建的映象
下載映象
docker pull [映象名]
pull 命令類似 git 拉取程式碼,用於下載映象,映象名後可以跟 TAG 用於指定版本 docker pull 映象名:TAG
,在 docker 中不加 TAG 預設為 latest
刪除映象檔案
docker rmi 映象名ID
可以跟映象 ID 也可以跟映象名。可以使用 -f 強制刪除,如果需要刪除所有映象可以使用 docker rmi -f $(docker images -qa)
如果刪除時提示衝突,可以先刪掉記錄docker ps -a -q | xargs docker rm
或者 docker rm -f $(docker ps -a -q)
然後再刪除即可
容器命令
下載映象
docker pull centos
新建並執行容器
docker run [OPTIONS] image [COMMAND] [ARG]
常用的選項有:
- --name:給容器指定名字,不指定的話會自動給定一個名字
- -d:後臺執行容器,返回容器 ID
- -i 與 -t:-i 表示以互動式方式執行容器,-t 表示為容器分配一個偽終端,通常兩者一起使用
- -P:隨機埠對映
- -p:指定埠對映關係
- --rm:對於foreground容器,由於其只是在開發除錯過程中短期執行,其使用者資料並無保留的必要,使用該選項,這樣在容器退出時就能夠自動清理容器內部的檔案系統,但是不能和 -d 同時使用
執行方式:
-
互動式容器
docker run -it centos /bin/bash
表示:使用映象 centos:latest 以互動模式啟動一個容器,在容器內執行/bin/bash命令。
2. 守護式容器
docker run -d centos
執行以後在程式中看不到對應的容器。因為 Docker 容器後臺執行,就必須有一個前臺程式。容器執行的命令如果不是那些一直掛起的命令,就會自動退出。
檢視正在執行的容器
docker ps [OPTIONS]
常見的選項有
- -a:列出當前所有正在執行的容器+歷史上執行過的
- -l:顯示最近建立的容器
- -n:顯示最近n個建立的容器
- -q:靜默模式,只顯示容器編號
- --no-trunc:不截斷輸出
退出容器
-
停止退出
在容器的互動式終端輸入
exit
回車或者使用 "ctrl+D" 即可停止容器並退出 -
容器不停止退出
即容器仍然在後臺執行,但是推出互動式終端,使用 "ctrl+P+Q" 即可
啟動容器
docker start 容器ID或者容器名
重啟容器
docker restart 容器ID或者容器名
停止容器
1. 正常停止
docker stop 容器ID或者容器名
2. 強制停止
docker kill 容器ID或者容器名
刪除已經停止的容器
docker rm 容器ID
如果需要一次性刪除多個容器,可以使用:
docker rm -f $(docker ps -a -q)
檢視日誌
docker logs 容器 ID
通常新增如下選項:
- -t:加入時間戳
- -f:跟隨最新的日誌列印
- --tail 數字:顯示最後多少條
檢視容器內部
-
檢視容器內部程式
docker top 容器ID
檢視容器內部細節
docker inspect 容器ID
進入正在執行的容器
-
exec 進入
docker exec -it 容器ID /bin/bash
在容器中開啟新的終端,並且可以啟動新的程式
-
attach 進入
docker attach 容器ID
直接進入容器啟動命令的終端,不會啟動新的程式
拷貝
1. 從容器拷貝到宿主機上:
docker cp 容器ID:容器內路徑 目標的宿主機目錄
2. 從宿主機拷貝到容器:
docker cp 宿主機的目錄 容器ID:容器內路徑
不管容器是否啟動,拷貝都會生效