這是 Docker 的快速參考備忘單。 你可以在這里找到最常見的 Docker 命令。
在后臺創(chuàng)建和運行容器
$ docker run -d -p 80:80 docker/getting-started
-d - 以分離模式運行容器-p 80:80 - 將端口 80 映射到容器中的端口 80docker/getting-started - 要使用的鏡像在前臺創(chuàng)建并運行容器
$ docker run -it -p --rm 8001:8080 --name my-nginx nginx
-it - 交互式 bash 模式--rm - 容器終止運行后自動刪除容器文件-p 8001:8080 - 將 8001 端口映射到容器中的 8080 端口--name my-nginx - 指定名稱nginx - 要使用的鏡像| Example | Description |
|---|---|
docker ps | 列出正在運行的容器 |
docker ps -a | 列出所有容器 |
docker ps -s | 列出正在運行的容器 (帶 CPU / 內(nèi)存) |
docker images | 列出所有鏡像 |
docker exec -it <container> bash | 連接到容器 |
docker logs <container> | 顯示容器的控制臺日志 |
docker stop <container> | 停止容器 |
docker restart <container> | 重啟一個容器 |
docker rm <container> | 移除一個容器 |
docker port <container> | 顯示容器的端口映射 |
docker top <container> | 列出進(jìn)程 |
docker kill <container> | 殺死一個容器 |
參數(shù) <container> 可以是容器 id 或名稱
| Description | Example |
|---|---|
docker start nginx-server | 開始 |
docker stop nginx-server | 停止 |
docker restart nginx-server | 重啟 |
docker pause nginx-server | 暫停 |
docker unpause nginx-server | 取消暫停 |
docker wait nginx-server | 阻塞容器 |
docker kill nginx-server | 發(fā)送 SIGKILL |
docker attach nginx-server | 連接到現(xiàn)有容器 |
| Example | Description |
|---|---|
docker ps | 列出正在運行的容器 |
docker ps -a | 列出所有容器 |
docker logs nginx-server | 容器日志 |
docker inspect nginx-server | 檢查容器 |
docker events nginx-server | 容器事件 |
docker port nginx-server | 公共端口 |
docker top nginx-server | 運行進(jìn)程 |
docker stats nginx-server | 容器資源使用 |
docker diff nginx-server | 列出對容器所做的更改 |
docker create [options] IMAGE
-a, --attach # 附加標(biāo)準(zhǔn)輸出/錯誤
-i, --interactive # 附加標(biāo)準(zhǔn)輸入(交互式)
-t, --tty # 偽終端 pseudo-tty
--name NAME # 命名你的鏡像
-p, --publish 5000:5000 # 端口映射(主機:容器)
--expose 5432 # 向容器公開端口
-P, --publish-all # 發(fā)布所有端口
--link container:alias # 鏈接 linking
-v, --volume `pwd`:/app # mount(需要絕對路徑)
-e, --env NAME=hello # 環(huán)境變量 env vars
$ docker create --name my_redis --expose 6379 redis:3.0.2
重命名容器
docker rename my-nginx nginx-server
移除容器
docker rm nginx-server
更新容器
docker update --cpu-shares 512 -m 300M nginx-server
Example | Description |
|---|---|
docker images | 列出鏡像 |
docker rmi nginx | 刪除鏡像 |
docker load < ubuntu.tar.gz | 加載一個 tarred 存儲庫 |
docker load --input ubuntu.tar | 加載一個 tarred 存儲庫 |
docker save busybox > ubuntu.tar | 將鏡像保存到 tar 存檔 |
docker history | 顯示鏡像的歷史 |
docker commit nginx my_nginx | 將容器另存為鏡像 |
docker tag nginx eon01/nginx | 標(biāo)記鏡像 |
docker push eon01/nginx | 推送鏡像 |
$ docker build .
$ docker build github.com/creack/docker-firefox
$ docker build - < Dockerfile
$ docker build - < context.tar.gz
$ docker build -t eon/nginx-server .
$ docker build -f myOtherDockerfile .
$ curl example.com/remote/Dockerfile | docker build -f - .
$ docker rmi -f $(docker images | grep "none" | awk '{print $3}')
刪除網(wǎng)絡(luò)
docker network rm MyOverlayNetwork
列出網(wǎng)絡(luò)
docker network ls
獲取有關(guān)網(wǎng)絡(luò)的信息
docker network inspect MyOverlayNetwork
將正在運行的容器連接到網(wǎng)絡(luò)
docker network connect MyOverlayNetwork nginx
啟動時將容器連接到網(wǎng)絡(luò)
docker run -it -d --network=MyOverlayNetwork nginx
斷開容器與網(wǎng)絡(luò)的連接
docker network disconnect MyOverlayNetwork nginx
docker network create -d overlay MyOverlayNetwork
docker network create -d bridge MyBridgeNetwork
docker network create -d overlay \
--subnet=192.168.0.0/16 \
--subnet=192.170.0.0/16 \
--gateway=192.168.0.100 \
--gateway=192.170.0.100 \
--ip-range=192.168.1.0/24 \
--aux-address="my-router=192.168.1.5" \
--aux-address="my-switch=192.168.1.6" \
--aux-address="my-printer=192.170.1.5" \
--aux-address="my-nas=192.170.1.6" \
MyOverlayNetwork
| Docker 語法 | 說明 |
|---|---|
docker search search_word | 在 docker hub 中搜索鏡像。 |
docker pull user/image | 從 docker hub 下載鏡像。 |
docker login | 向 docker hub 進(jìn)行身份驗證 |
docker push user/image | 將鏡像上傳到 docker hub。 |
登錄到鏡像倉庫
$ docker login
$ docker login localhost:8080
從鏡像倉庫注銷
$ docker logout
$ docker logout localhost:8080
搜索鏡像
$ docker search nginx
$ docker search nginx --stars=3 --no-trunc busybox
拉取鏡像
$ docker pull nginx
$ docker pull eon01/nginx localhost:5000/myadmin/nginx
推送鏡像
$ docker push eon01/nginx
$ docker push eon01/nginx localhost:5000/myadmin/nginx
| 實例 | 說明 |
|---|---|
docker stop -f $(docker ps -a -q) | 停止所有容器 |
docker rm -f $(docker ps -a -q) | 刪除所有容器 |
docker rmi -f $(docker images -q) | 刪除所有鏡像 |
檢查卷
$ docker volume ls
清理未使用的卷
$ docker volume prune
| :- | :- |
|---|---|
docker-compose up | 創(chuàng)建和啟動容器 |
docker-compose up -d | 以分離模式創(chuàng)建和啟動容器 |
docker-compose down | 停止和刪除容器、網(wǎng)絡(luò)、映像和卷 |
docker-compose logs | 查看容器的輸出 |
docker-compose restart | 重啟所有服務(wù) |
docker-compose pull | 拉取所有服務(wù)的鏡像 |
docker-compose build | 構(gòu)建所有服務(wù)的鏡像 |
docker-compose config | 驗證并查看 Compose 文件 |
docker-compose scale <service_name>=<replica> | 為服務(wù)指定容器個數(shù) |
docker-compose top | 顯示正在運行的進(jìn)程 |
docker-compose run -rm -p 2022:22 web bash | 啟動 Web 服務(wù)并運行 bash 作為其命令,刪除舊容器。 |
| :- | :- |
|---|---|
docker service create <options> <image> <command> | 創(chuàng)建新服務(wù) |
docker service inspect --pretty <service_name> | 顯示詳細(xì)信息服務(wù) |
docker service ls | 列出服務(wù) |
docker service ps | 列出服務(wù)的任務(wù) |
docker service scale <service_name>=<replica> | 規(guī)模特殊服務(wù) |
docker service update <options> <service_name> | 更新服務(wù)選項 |
| :- | :- |
|---|---|
docker stack ls | 列出此 Docker 主機上所有正在運行的應(yīng)用程序 |
docker stack deploy -c <composefile> <appname> | 運行指定的 Compose 文件 |
docker stack services <appname> | 列出與應(yīng)用關(guān)聯(lián)的服務(wù) |
docker stack ps <appname> | 列出與應(yīng)用關(guān)聯(lián)的正在運行的容器 |
docker stack rm <appname> | 拆掉一個應(yīng)用程序 |
| :- | :- |
|---|---|
docker-machine create --driver virtualbox myvm1 | 創(chuàng)建虛擬機(Mac、Win7、Linux) |
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1 | Win10 |
docker-machine env myvm1 | 查看有關(guān)您的節(jié)點的基本信息 |
docker-machine ssh myvm1 "docker node ls" | 列出集群中的節(jié)點 |
docker-machine ssh myvm1 "docker node inspect <node ID>" | 檢查節(jié)點 |
docker-machine ssh myvm1 "docker swarm join-token -q worker" | 查看加入令牌 |
docker-machine ssh myvm1 | 打開與 VM 的 SSH 會話; 輸入“exit”結(jié)束 |
docker-machine ssh myvm2 "docker swarm leave" | 讓工人離開群體 |
docker-machine ssh myvm1 "docker swarm leave -f" | 讓主人離開,殺群 |
docker-machine start myvm1 | 啟動當(dāng)前未運行的 VM |
docker-machine stop $(docker-machine ls -q) | 停止所有正在運行的虛擬機 |
docker-machine rm $(docker-machine ls -q) | 刪除所有虛擬機及其磁盤映像 |
docker-machine scp docker-compose.yml myvm1:~ | 將文件復(fù)制到節(jié)點的主目錄 |
docker-machine ssh myvm1 "docker stack deploy -c <file> <app>" | 部署應(yīng)用 |
| :- | :- |
|---|---|
attach | 將本地標(biāo)準(zhǔn)輸入、輸出和錯誤流附加到正在運行的容器 |
build | 從 Dockerfile 構(gòu)建鏡像 |
commit | 從容器的更改創(chuàng)建新鏡像 |
cp | 在容器和本地文件系統(tǒng)之間復(fù)制文件/文件夾 |
create | 創(chuàng)建一個新容器 |
diff | 檢查容器文件系統(tǒng)上文件或目錄的更改 |
events | 從服務(wù)器獲取實時事件 |
exec | 在正在運行的容器中運行命令 |
export | 將容器的文件系統(tǒng)導(dǎo)出為 tar 存檔 |
history | 顯示鏡像的歷史 |
images | 列出鏡像 |
import | 從 tarball 導(dǎo)入內(nèi)容以創(chuàng)建文件系統(tǒng)映像 |
info | 顯示系統(tǒng)范圍的信息 |
inspect | 返回有關(guān) Docker 對象的低級信息 |
kill | 殺死一個或多個正在運行的容器 |
load | 從 tar 存檔或 STDIN 加載鏡像 |
login | 登錄到 Docker 注冊表 |
logout | 從 Docker 注冊表中注銷 |
logs | 獲取容器的日志 |
pause | 暫停一個或多個容器內(nèi)的所有進(jìn)程 |
port | 列出容器的端口映射或特定映射 |
ps | 列出容器 |
pull | 從注冊表中提取鏡像或存儲庫 |
push | 將鏡像或存儲庫推送到注冊表 |
rename | 重命名容器 |
restart | 重啟一個或多個容器 |
rm | 移除一個或多個容器 |
rmi | 移除一張或多張鏡像 |
run | 在新容器中運行命令 |
save | 將一個或多個鏡像保存到 tar 存檔(默認(rèn)流式傳輸?shù)?STDOUT) |
search | 在 Docker Hub 中搜索鏡像 |
start | 啟動一個或多個停止的容器 |
stats | 顯示容器資源使用統(tǒng)計的實時流 |
stop | 停止一個或多個正在運行的容器 |
tag | 創(chuàng)建一個引用 SOURCE_IMAGE 的標(biāo)記 TARGET_IMAGE |
top | 顯示容器的運行進(jìn)程 |
unpause | 取消暫停一個或多個容器中的所有進(jìn)程 |
update | 更新一個或多個容器的配置 |
version | 顯示 Docker 版本信息 |
wait | 阻塞直到一個或多個容器停止,然后打印它們的退出代碼 |
--add-host list # 添加自定義主機到 IP 映射 (host:ip)
-a, --attach list # 連接到 STDIN、STDOUT 或 STDERR
--blkio-weight uint16 # 塊 IO(相對權(quán)重),介于 10 和 1000 之間,或 0 禁用(默認(rèn) 0)
--blkio-weight-device list # 塊 IO 權(quán)重(相對設(shè)備權(quán)重)(默認(rèn) [])
--cap-add list # 添加 Linux 功能
--cap-drop list # 放棄 Linux 功能
--cgroup-parent string # 容器的可選父 cgroup
--cgroupns string # 要使用的 Cgroup 命名空間(主機|私有)
# 'host': 在 Docker 主機的 cgroup 命名空間中運行容器
# 'private': 在自己的私有 cgroup 命名空間中運行容器
# '': 使用由守護(hù)進(jìn)程上的
# default-cgroupns-mode 選項配置的 cgroup 命名空間(默認(rèn))
--cidfile string # 將容器 ID 寫入文件
--cpu-period int # 限制 CPU CFS(完全公平調(diào)度器)周期
--cpu-quota int # 限制 CPU CFS(完全公平調(diào)度器)配額
--cpu-rt-period int # 以微秒為單位限制 CPU 實時周期
--cpu-rt-runtime int # 以微秒為單位限制 CPU 實時運行時間
-c, --cpu-shares int # CPU 份額(相對權(quán)重)
--cpus decimal # CPU 數(shù)量
--cpuset-cpus string # 允許執(zhí)行的 CPU (0-3, 0,1)
--cpuset-mems string # 允許執(zhí)行的 MEM (0-3, 0,1)
--device list # 將主機設(shè)備添加到容器
--device-cgroup-rule list # 將規(guī)則添加到 cgroup 允許的設(shè)備列表
--device-read-bps list # 限制設(shè)備的讀取速率(每秒字節(jié)數(shù))(默認(rèn) [])
--device-read-iops list # 限制設(shè)備的讀取速率(每秒 IO)(默認(rèn) [])
--device-write-bps list # 限制設(shè)備的寫入速率(每秒字節(jié)數(shù))(默認(rèn) [])
--device-write-iops list # 限制設(shè)備的寫入速率(每秒 IO)(默認(rèn) [])
--disable-content-trust # 跳過鏡像驗證(默認(rèn)為 true)
--dns list # 設(shè)置自定義 DNS 服務(wù)器
--dns-option list # 設(shè)置 DNS 選項
--dns-search list # 設(shè)置自定義 DNS 搜索域
--domainname string # 容器 NIS 域名
--entrypoint string # 覆蓋鏡像的默認(rèn)入口點
-e, --env list # 設(shè)置環(huán)境變量
--env-file list # 讀入環(huán)境變量文件
--expose list # 公開一個端口或一系列端口
--gpus gpu-request # 要添加到容器中的 GPU 設(shè)備(“全部”以傳遞所有 GPU)
--group-add list # 添加其他組以加入
--health-cmd string # 運行以檢查運行狀況的命令
--health-interval duration # 運行檢查之間的時間 (ms|s|m|h) (默認(rèn) 0s)
--health-retries int # 需要報告不健康的連續(xù)失敗
--health-start-period duration # 開始健康重試倒計時之前容器初始化的開始時間(ms|s|m|h)(默認(rèn) 0s)
--health-timeout duration # 允許運行一項檢查的最長時間 (ms|s|m|h) (默認(rèn) 0s)
--help # 打印使用
-h, --hostname string # 容器主機名
--init # 在容器內(nèi)運行一個 init 來轉(zhuǎn)發(fā)信號并收獲進(jìn)程
-i, --interactive # 即使沒有連接,也保持 STDIN 打開
--ip string # IPv4 地址(例如 172.30.100.104)
--ip6 string # IPv6 地址(例如,2001:db8::33)
--ipc string # 要使用的 IPC 模式
--isolation string # 容器隔離技術(shù)
--kernel-memory bytes # 內(nèi)核內(nèi)存限制
-l, --label list # 在容器上設(shè)置元數(shù)據(jù)
--label-file list # 讀入以行分隔的標(biāo)簽文件
--link list # 添加到另一個容器的鏈接
--link-local-ip list # 容器 IPv4/IPv6 鏈路本地地址
--log-driver string # 容器的日志記錄驅(qū)動程序
--log-opt list # 日志驅(qū)動程序選項
--mac-address string # 容器 MAC 地址(例如 92:d0:c6:0a:29:33)
-m, --memory bytes # 內(nèi)存限制
--memory-reservation bytes # 內(nèi)存軟限制
--memory-swap bytes # 交換限制等于內(nèi)存加上交換:'-1' 啟用無限交換
--memory-swappiness int # 調(diào)整容器內(nèi)存交換(0 到 100)(默認(rèn) -1)
--mount mount # 將文件系統(tǒng)掛載附加到容器
--name string # 為容器分配名稱
--network network # 將容器連接到網(wǎng)絡(luò)
--network-alias list # 為容器添加網(wǎng)絡(luò)范圍的別名
--no-healthcheck # 禁用任何容器指定的 HEALTHCHECK
--oom-kill-disable # 禁用 OOM 殺手
--oom-score-adj int # 調(diào)整主機的 OOM 首選項(-1000 到 1000)
--pid string # 要使用的 PID 命名空間
--pids-limit int # 調(diào)整容器 pids 限制(設(shè)置 -1 表示無限制)
--platform string # 如果服務(wù)器支持多平臺,則設(shè)置平臺
--privileged # 授予此容器擴展權(quán)限
-p, --publish list # 將容器的端口發(fā)布到主機
-P, --publish-all # 將所有暴露的端口發(fā)布到隨機端口
--pull string # 創(chuàng)建前拉取鏡像("always"|"missing"|"never")(默認(rèn)"missing")
--read-only # 將容器的根文件系統(tǒng)掛載為只讀
--restart string # 容器退出時應(yīng)用的重啟策略(默認(rèn)“否”)
--rm # 容器退出時自動移除
--runtime string # 用于此容器的運行時
--security-opt list # 安全選項
--shm-size bytes # /dev/shm 的大小
--stop-signal string # 停止容器的信號(默認(rèn)“SIGTERM”)
--stop-timeout int # 停止容器的超時(以秒為單位)
--storage-opt list # 容器的存儲驅(qū)動程序選項
--sysctl map # Sysctl 選項(默認(rèn) map[])
--tmpfs list # 掛載 tmpfs 目錄
-t, --tty # 分配一個偽 TTY
--ulimit ulimit # ulimit 選項(默認(rèn) [])
-u, --user string # 用戶名或 UID(格式:<name|uid>[:<group|gid>])
--userns string # 要使用的用戶命名空間
--uts string # 要使用的 UTS 命名空間
-v, --volume list # 綁定掛載卷
--volume-driver string # 容器的可選卷驅(qū)動程序
--volumes-from list # 從指定容器掛載卷
-w, --workdir string # 容器內(nèi)的工作目錄
run/create 大部分參數(shù)一致
--config string # 客戶端配置文件的位置(默認(rèn)“~/.docker”)
-c, --context string # 用于連接到守護(hù)程序的上下文的名稱(
# 覆蓋 DOCKER_HOST 環(huán)境變量和使用“docker context use”設(shè)置的默認(rèn)上下文)
-D, --debug # 啟用調(diào)試模式
-H, --host list # 要連接的守護(hù)進(jìn)程套接字
-l, --log-level string # 設(shè)置日志級別("debug"\|"info"\|"warn"\|"error"\|"fatal") (默認(rèn)“info”)
--tls # 使用 TLS; 由 --tlsverify 暗示
--tlscacert string # 僅由該 CA 簽署的信任證書(默認(rèn)為“~/.docker/ca.pem”)
--tlscert string # TLS證書文件路徑(默認(rèn)“~/.docker/cert.pem”)
--tlskey string # TLS 密鑰文件的路徑(默認(rèn)為“~/.docker/key.pem”)
--tlsverify # 使用 TLS 并驗證遠(yuǎn)程
-v, --version # 打印版本信息并退出
| :- | :- |
|---|---|
docker builder | 管理構(gòu)建 |
docker buildx* | Docker Buildx(Docker Inc.,v0.7.1) |
docker compose* | Docker Compose(Docker Inc.,v2.2.3) |
docker config | 管理 Docker 配置 |
docker container | 管理容器 |
docker context | 管理上下文 |
docker image | 管理鏡像 |
docker manifest | 管理 Docker 鏡像清單和清單列表 |
docker network | 管理網(wǎng)絡(luò) |
docker node | 管理 Swarm 節(jié)點 |
docker plugin | 管理插件 |
docker scan* | Docker 掃描(Docker Inc.,v0.16.0) |
docker secret | 管理 Docker 機密 |
docker service | 管理服務(wù) |
docker stack | 管理 Docker 堆棧 |
docker swarm | 管理群 |
docker system | 管理 Docker |
docker trust | 管理對 Docker 映像的信任 |
docker volume | 管理卷 |
-a, --all 顯示所有鏡像(默認(rèn)隱藏中間鏡像)
--digests 顯示摘要
-f, --filter filter 根據(jù)提供的條件過濾輸出
--format string 使用 Go 模板打印漂亮的鏡像
--no-trunc 不要截斷輸出
-q, --quiet 僅顯示鏡像 ID
$ docker run -d --name portainer \
-p 8000:8000 \
-p 9443:9443 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $HOME/portainer:/data \
portainer/portainer-ee:latest
$ mkdir -p ~/.config
$ docker run -it --name code-server \
-p 127.0.0.1:8080:8080 \
-v "$HOME/.config/code-server:/home/coder/.config" \
-v "$PWD:/home/coder/project" \
-u "$(id -u):$(id -g)" \
-e "DOCKER_USER=$USER" \
codercom/code-server:latest
$ docker run --name mysql \
-p 3306:3306 \
-v $HOME/mysql/conf.d:/etc/mysql/conf.d \
-v $HOME/mysql/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.23
$ docker run -d --name myredis \
-v $HOME/redis/conf:/usr/local/etc/redis \
-v /etc/localtime:/etc/localtime:ro \
redis redis-server /usr/local/etc/redis/redis.conf
$ docker run --name my-nginx \
-v "$HOME/nginx/nginx.conf:/etc/nginx/nginx.conf:ro" \
-v "$HOME/nginx/html:/usr/share/nginx/html:ro" \
-p 8080:80 \
-d nginx
$ docker run --name my-postgres \
-e POSTGRES_PASSWORD=mysecretpassword \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v $HOME/nginx/mount:/var/lib/postgresql/data \
-d postgres
$ docker run --name my-dim \
-p 8000:8000/tcp \
-v $HOME/.config/dim:/opt/dim/config \
-v $HOME/dim/media:/media:ro \
-d ghcr.io/dusk-labs/dim:dev
$ docker run -d --name gitlab \
--hostname gitlab.example.com \
--publish 8443:443 --publish 8081:80 -p 2222:22 \
--restart always \
--volume $HOME/gitlab/config:/etc/gitlab \
--volume $HOME/gitlab/logs:/var/log/gitlab \
--volume $HOME/gitlab/data:/var/opt/gitlab \
-v /etc/localtime:/etc/localtime \
--shm-size 256m \
gitlab/gitlab-ce:latest
感谢您访问我们的网站,您可能还对以下资源感兴趣:
国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片