docker-compose 常用命令详解

帮助文档
docker@default:~$ docker-compose --help
Define and run multi-container applications with Docker.

Usage:
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help

Options:
-f, --file FILE Specify an alternate compose file
(default: docker-compose.yml)
-p, --project-name NAME Specify an alternate project name
(default: directory name)
--verbose Show more output
--log-level LEVEL Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
--no-ansi Do not print ANSI control characters
-v, --version Print version and exit
-H, --host HOST Daemon socket to connect to

--tls Use TLS; implied by --tlsverify
--tlscacert CA_PATH Trust certs signed only by this CA
--tlscert CLIENT_CERT_PATH Path to TLS certificate file
--tlskey TLS_KEY_PATH Path to TLS key file
--tlsverify Use TLS and verify the remote
--skip-hostname-check Don't check the daemon's hostname against the
name specified in the client certificate
--project-directory PATH Specify an alternate working directory
(default: the path of the Compose file)
--compatibility If set, Compose will attempt to convert keys
in v3 files to their non-Swarm equivalent

Commands:
build 构建或重建服务
bundle 从compose配置文件中产生一个docker绑定
config 验证并查看compose配置文件
create 创建服务
down 停止并移除容器、网络、镜像和数据卷
events 从容器中接收实时的事件
exec 在一个运行中的容器上执行一个命令
help 获取命令的帮助信息
images 列出所有镜像
kill 通过发送SIGKILL信号来停止指定服务的容器
logs 从容器中查看服务日志输出
pause 暂停服务
port 打印绑定的公共端口
ps 列出所有运行中的容器
pull 拉取并下载指定服务镜像
push Push service images
restart 重启YAML文件中定义的服务
rm 删除指定已经停止服务的容器
run 在一个服务上执行一条命令
scale 设置指定服务运行容器的个数
start 在容器中启动指定服务
stop 停止已运行的服务
top 显示各个服务容器内运行的进程
unpause 恢复容器服务
up 创建并启动容器
version 显示Docker-Compose版本信息
命令解析
docker-compose
docker-compose [-f <args>...] [options] [COMMAND] [ARGS...]
命令选项[-f <args>...]

-f, --file FILE 指定Compose模板文件,默认为docker-compose.yml可多次指定。
$ docker-compose -f docker-compose.yml up -d
-p, --project-name NAME 指定项目名称,默认使用当前所在目录名称作为项目名称。
-x-network-driver 使用Docker可拔插网络后端特性,需Docker1.9+版本支持。
-x-network-driver DRIVER 指定网络后端驱动,默认为bridge,需Docker1.9+版本支持。
-verbose 输出更多调试信息
-v, --version 打印版本并退出
docker-compose up
启动所有服务

docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
命令选项[options]

-d 指定在后台以守护进程方式运行服务容器
-no-color 设置不使用颜色来区分不同的服务器的控制输出
-no-deps 设置不启动服务所链接的容器
-force-recreate 设置强制重新创建容器,不能与--no-recreate选项同时使用。
--no-create 若容器已经存在则不再重新创建,不能与--force-recreate选项同时使用。
--no-build 设置不自动构建缺失的服务镜像
--build 设置在启动容器前构建服务镜像
--abort-on-container-exit 若任何一个容器被停止则停止所有容器,不能与选项-d同时使用。
-t, --timeout TIMEOUT 设置停止容器时的超时秒数,默认为10秒。
--remove-orphans 设置删除服务中没有在compose文件中定义的容器
--scale SERVICE=NUM 设置服务运行容器的个数,此选项将会负载在compose中通过scale指定的参数。
docker-compose ps
列出项目中当前的所有容器

docker-compose ps [options] [SERVICE...]
docker@default:~$ docker-compose ps
ERROR:
Can't find a suitable configuration file in this directory or any
parent. Are you in the right directory?

    Supported filenames: docker-compose.yml, docker-compose.yaml

docker@default:~$ docker-compose ps
Name Command State Ports


swoft_swoft_1 /bin/bash Exit 0
docker-compose -h
查看docker-compose帮助

docker-compose down
停止和删除容器、网络、卷、镜像

docker-compose down [options]
命令选项 [options]

--rmi type 删除镜像类型,类型可选:
--rmi all 删除compose文件中定义的所有镜像
--rmi local 删除镜像名为空的镜像
-v, --volumes 删除已经在compose文件中定义的和匿名的附在容器上的数据卷
--remove-orphans 删除服务中没有在compose中定义的容器
docker-compose logs
查看服务容器的输出,默认情况下docker-compose将对不同的服务输出使用不同的颜色来区分。可以通过--no-color来关闭颜色。

docker-compose logs [options] [SERVICE...]
例如:

root@default:/var/www/swoft# docker-compose logs
Attaching to swoft_swoft_1
swoft_1 | root@cd054651dfcb:/var/www/swoft# exit
docker-compose build
构建或重构项目中的服务容器,服务容器一旦构建后将会带上一个标记名称,可以随时在项目目录下运行docker-compose build来重新构建服务。

docker-compose build [options] [--build-arg key=val...] [SERVICE...]
命令选项[options]

--compress 通过gzip压缩构建上下文环境
--force-rm 删除构建过程中的临时容器
--no-cache 构建镜像过程中不使用缓存
--pull 始终尝试通过拉取操作来获取更新版本的镜像
-m, --memory MEM为构建的容器设置内存大小
--build-arg key=val 为服务设置build-time变量
docker-compose pull
拉取服务依赖的镜像

docker-compose pull [options] [SERVICE...]
命令选项[options]

--ignore-pull-failures 忽略拉取镜像过程中的错误
--parallel 同时拉取多个镜像
--quiet 拉取镜像过程中不打印进度信息
docker-compose restart
重启项目中的服务

docker-compose restart [options] [SERVICE...]
命令选项[options]

-t, --timeout TIMEOUT指定重启前停止容器的超时时长,默认为10秒。
docker-compose rm
删除所有停止状态的服务容器,推荐先执行docker-compose stop命令来停止容器。

docker-compose rm [options] [SERVICE...]
命令选项[options]

-f, --force 强制直接删除包含非停止状态的容器
-v 删除容器所挂载的数据卷
docker-compose start
启动已经存在的服务容器

docker-compose start [SERVICE...]
docker-compose run
在指定服务上执行一条命令

docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]
例如:在ubuntu容器上运行ping命令10次

$ docker-compose run ubuntu ping www.baidu.com -c 10
docker-compose scale
设置指定服务运行的容器个数,通过service=num参数设置服务数量。

docker-compose scale
例如:

$ docker-compoose scale web=3 db=2
docker-compose pause
暂停一个服务容器

docker-compose pause [SERVICE...]
docker-compose kill
发送SIGKILL信号来强制停止服务容器,支持通过-s参数来指定发送的信号。

docker-compose kill [options] [SERVICE...]
例如:发送SIGINT信号强制停止服务容器

$ docker-compose kill -s SIGINT
docker-compose config
验证并查看compose文件配置

docker-compose config [options]
选项参数[options]

--resolve-image-digests 将镜像标签标记为摘要
-q, --quiet 只验证配置不输出,当配置正确时不输出任何容器,当配置错误时输出错误信息。
--services 打印服务名称,一行显示一个。
--volumes 打印数据卷名称,一行显示一个。
例如:

root@default:/var/www/swoft# docker-compose config
services:
swoft:
entrypoint:
- /bin/bash
image: swoft/swoft:latest
ports:
- 83:83/tcp
privileged: true
stdin_open: true
tty: true
volumes:
- /share/swoft:/var/www/swoft:rw
version: '3.0'
docker-compose create
为服务创建容器

docker-compose create [options] [SERVICE...]
选项说明[options]

--force-recreate 重新创建容器,即使配置和镜像没有改变,不兼容--no-recreate参数。
--no-recreate 如果容器已经存在则无需重新创建,不兼容--force-recreate参数。
--no-build 不创建镜像即使缺失
--build 创建容器前生成镜像
docker-compose exec
docker-compose exec [options] SERVICE COMMAND [ARGS...]
选项参数[options]

-d 分离模式,以后台守护进程运行命令。
--privileged 获取特权
-T 禁用分配TTY,默认docker-compose exec分配TTY。
--index=index 当一个服务拥有多个容器时可通过该参数登录到该服务下的任何服务
例如:

$ docker-compose exec --index=1 web /bin/bash
docker-compose port
显示某个容器端口所映射的公共端口

docker-compose port [options] SERVICE PRIVATE_PORT
选项参数[options]

--protocol=proto 指定端口协议,默认为TCP,可选UDP。
--index=index 若同意服务存在多个容器,指定命令对象容器的索引序号,默认为1。
docker-compose push
推送服务依赖的镜像

docker-compose push [options] [SERVICE...]
选项参数[options]

--ignore-push-failure 忽略推送镜像过程中的错误
docker-compose stop
显示各个容器运行的进程情况

docker-compose stop [options] [SERVICE...]
docker-compose unpause
恢复处于暂停状态中的服务

docker-compose unpause [SERVICE...]
docker-compose version
打印Docker Compose版本信息

root@default:/var/www/swoft# docker-compose version
docker-compose version 1.24.0, build 0aa59064
docker-py version: 3.7.2
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j 20 Nov 2018

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容