Options详情

build

用途: 服务已构建一次,然后标记为project_service,例如composetest_db.如果您更改服务的Docker文件或其构建目录的内容,请运行docker-compose build来重建它. 用法: build [options] [--build-arg key=val...] [SERVICE...] options:

  • --force-rm: 总是删除中间容器
  • --no-cache: 构建镜像时不使用缓存
  • --pull: 始终尝试拉一个较新版本的镜像
  • --build-arg key=val:为一个服务设置构建时变量

bundle

用途: 从Compose file生成分布式应用程序包(DAB). 镜像必须存储摘要,这需要与docker注册表进行交互.如果没有为所有镜像存储摘要,你可以使用docker-compose pull或者docker-compose push来获取它们.--push-images,bundling时自动推送镜像,只有指定了构建选项的服务才能推送镜像. 用法: bundle [options] options:

  • --push-images: 自动推送具有指定“build”选项的任何服务的镜像
  • -o, --output PATH: 将bundle文件写入的路径.默认为".dab".

config

用途: 验证并查看compose file. 用法: config [options] options:

  • --resolve-image-digests: 引导镜像标签摘要.
  • -q, --quiet: 只验证配置,不要打印任何东西.
  • --services: 打印服务名称,每行一个.
  • --volumes: 打印挂载卷名称,每行一个.

create

用途: 创建服务的容器 用法: create [options] [SERVICE...] options:

  • --force-recreate: 即使他们的配置和镜像没有改变,也可以重新创建容器.与--no-recreate不兼容.
  • --no-recreate: 如果容器已经存在,不要重新创建它们.与--force-recreate不兼容.
  • --no-build: 不要建立一个镜像,即使它没有.
  • --build: 创建容器之前构建镜像.

down

用途: 停止容器并移除由up创建的容器,网络,挂载卷和镜像. 默认情况下,唯一删除的内容是:

  • Compose文件中定义的服务容器
  • 在Compose文件的网络部分中定义的网络
  • 默认网络,如果使用 定义为external的网络和卷不会被删除. 用法: down [options] options:
  • --rmi type: 删除镜像.类型必须是以下之一:
    • all: 删除任何服务使用的所有镜像.
    • local: 只删除没有“image”字段设置的自定义标签的镜像
  • -v, --volumes: 删除在Compose文件的“volumes”部分中声明的命名卷和附加到容器的匿名卷.
  • --remove-orphans: 删除未在compose文件中定义的服务的容器

event

用途: 项目中每个容器中的容器事件流. 使用--json标志,一行json对象将按照以下格式打印一行:

{
    "service": "web",
    "event": "create",
    "container": "213cf75fc39a",
    "image": "alpine:edge",
    "time": "2015-11-20T18:01:03.615550",
}

用法: events [options] [SERVICE...] options:

  • --json: 输出事件作为json对象流

exec

用途: 这相当于docker exec,使用此子命令,您可以在服务中运行任意命令.默认情况下,命令分配一个TTY,所以你可以这样做.docker-compose exec web sh获取交互式提示 用法: exec [options] SERVICE COMMAND [ARGS...] options:

  • -d: 分离模式:在后台运行命令.
  • --privileged: 给进程扩展特权.
  • --user USER: 以此用户身份运行命令
  • -T: 禁用伪tty分配.默认情况下docker-compose exec分配一个TTY.
  • --index=index: 容器的索引如果有多个服务实例[default:1]

kill

用法: kill [options] [SERVICE...] options:

  • -s SIGNAL: SIGNAL发送到容器.默认信号是SIGKILL

通过发送SIGKILL信号来强制运行容器停止.传递信号是可选的.例如:

docker-compose kill -s SIGINT

logs

用途: 显示服务的日志输出. 用法: logs [options] [SERVICE...] options:

  • --no-color: 生产单色输出.
  • -f, --follow: 输出跟踪日志
  • -t, --timestamps: 显示时间戳
  • --tail="all": 在每个容器的日志末尾显示行数.

pause

用途: 暂停运行服务的容器.可以使用docker-compose unpause取消暂停. 用法: pause [SERVICE...]

port

用途: 打印端口绑定的公共端口 用法: port [options] SERVICE PRIVATE_PORT options:

  • --protocol=proto: tcp或udp[默认:tcp]
  • --index=index: 容器的索引,如果有多个服务实例[default:1]

ps

用途: 容器列表,例如:

$ docker-compose ps

用法: ps [options] [SERVICE...] options:

  • -q: 只显示ID

pull

用途: 拉取服务镜像 用法: pull [options] [SERVICE...] options:

  • --ignore-pull-failures: 忽略失败的拉取镜像
  • --parallel: 并行拉取多个镜像

push

用法: push [options] [SERVICE...] options:

  • --ignore-push-failures: 忽略失败推送服务镜像

用途: 将服务的镜像推送到其各自的注册表/存储库. 做出以下假设:

  • 你正在推动你在本地建立的镜像
  • 您可以访问构建密钥

例如:

version: '3'
services:
  service1:
    build: .
    image: localhost:5000/yourimage  # goes to local registry

  service2:
    build: .
    image: youruser/yourimage  # goes to youruser DockerHub registry

restart

用途: 重新启动所有停止和正在运行的服务. 如果您对docker-compose.yml配置进行了更改,则运行此命令后,这些更改将不会被反映. 例如,在重新启动之后,环境变量的更改(在构建容器后,但在容器的命令执行之前添加的)将不会更新. 用法: restart [options] [SERVICE...] options:

  • -t, --timeout TIMEOUT: 指定超时关闭(以秒为单位).(默认值:10)

rm

用法: rm [options] [SERVICE...] options:

  • -f, --force: 删除不要求确认
  • -s, --stop: 如果需要,在删除前停止容器
  • -v: 删除附加到容器的任何匿名卷

用途: 删除已停止的服务容器. 默认情况下,连接到容器的匿名卷将不会被删除.你可以用-v覆盖它.要列出所有卷,请使用docker volume ls. 任何不在卷中的数据都将丢失. 运行没有选项的命令也将删除由docker-compost或docker-compose运行创建的一次性容器:

$ docker-compose rm
Going to remove djangoquickstart_web_run_1
Are you sure? [yN] y
Removing djangoquickstart_web_run_1 ... done

run

用法: run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...] options:

  • -d: 分离模式:在后台运行容器,打印新的容器名称.
  • --name NAME: 为容器指定名称
  • --entrypoint CMD: 覆盖镜像的入口点
  • -e KEY=VAL: 设置一个环境变量(可以多次使用)
  • -u, --user="": 以指定的用户名或uid身份运行
  • --no-deps: 不要启动已link服务
  • --rm: 运行后删除容器.在分离模式下忽略.
  • -p, --publish=[]: 将容器的端口发布到宿主机
  • --service-ports: 运行命令,启用服务端口并映射到主机
  • -v, --volume=[]: 绑定一个挂载卷(默认为[])
  • -T: 禁用伪tty分配.默认情况下'docker-compose run'分配一个TTY.
  • w, --workdir="": 容器内的工作目录

对服务执行一次性命令.例如,以下命令启动Web服务并运行bash作为其命令.

docker-compose run web bash

您使用的命令与新服务器中的运行启动一起使用,由配置定义的服务包括卷,链接和其他详细信息.但是,有两个重要的区别. 首先,通过运行传递的命令将覆盖服务配置中定义的命令.例如,如果Web服务配置以bash启动,则docker-compose运行web python app.py将使用python app.py来覆盖它. 第二个区别是docker-compose run命令不会创建服务配置中指定的任何端口.这可以防止与已打开端口的端口冲突.如果您希望创建服务时配置端口并将其映射到主机,请指定--service-ports标志:

docker-compose run --service-ports web python manage.py shell

或者,可以使用--publish或-p选项指定手动端口映射,就像使用docker运行一样:

docker-compose run --publish 8080:80 -p 2022:22 -p 127.0.0.1:2021:21 web python manage.py shell

如果您启动配置了链接的服务,则运行命令首先检查链接服务是否正在运行,如果停止,则启动该服务.一旦所有链接的服务都在运行,运行将执行您传递的命令.例如,您可以运行:

docker-compose run db psql -h db -U docker

这将为链接的数据库容器打开一个交互式PostgreSQL shell. 如果不希望运行命令启动链接容器,请使用--no-deps标志:

docker-compose run --no-deps web python manage.py shell

scale

用处: 设置要为服务运行的容器数. 数字被指定为参数,格式为service = num.例如:

docker-compose scale web=2 worker=3

用法: scale [SERVICE=NUM...]

start

用法: start [SERVICE...] 启动一个服务的现有容器.

stop

用法: stop [options] [SERVICE...] options:

  • -t, --timeout TIMEOUT: 指定超时关闭(以秒为单位)(默认值:10). 用处: 停止运行容器而不删除它们.他们可以用docker-compose start再次启动.

top

用法: top [SERVICE...] 显示正在运行的进程:

$ docker-compose top
compose_service_a_1
PID    USER   TIME   COMMAND
----------------------------
4060   root   0:00   top

compose_service_b_1
PID    USER   TIME   COMMAND
----------------------------
4115   root   0:00   top

unpause

用途: 取消暂停服务的容器. 用法: unpause [SERVICE...]

up

用法: up [options] [SERVICE...] options:

  • -d: 分离模式:在后台运行容器,打印新的容器名称.与--abort-on-container-exit不兼容
  • --no-color: 生产单色输出
  • --no-deps: 不要启动已link服务
  • --force-recreate: 即使他们的配置和镜像没有改变,也可以重新创建容器.与--no-recreate不兼容
  • --no-recreate: 如果容器已经存在,请不要重新创建它们.与--force-recreate不兼容.
  • --no-build: 不要建立镜像,即使它没有
  • --build: 启动容器之前构建镜像
  • --abort-on-container-exit: 任何容器停止时,都会停止所有容器.与-d不兼容
  • -t, --timeout TIMEOUT: 在连接时或容器已在运行时,使用此超时时间才能进行容器关闭.(默认值:10)
  • --remove-orphans: 删除未在Compose file中定义的服务的容器
  • --exit-code-from SERVICE: 返回所选服务容器的退出code,意味着会执行--abort-on-container-exit

用途

构建,(重新)创建,启动和附加到服务的容器. 除非它们已经在运行,否则此命令也将启动任何已链接的服务. docker-compose up命令聚合每个容器的输出.当命令退出时,所有容器都将停止.运行docker-compos up -d在后台启动容器并使其运行. 如果存在服务的现有容器,并且服务的配置或镜像在容器创建之后已更改,则docker-compos up将通过停止并重新创建容器(保存挂载的卷)来选择更改.要防止Compose接收更改,请使用--no-recreate标志. 如果要强制Compose停止并重新创建所有容器,请使用--force-recreate flag.

Copyright © www.gitbook.com/@vitzhou 2016 all right reserved,powered by Gitbook该文件修订时间: 2018-02-07 08:08:52

results matching ""

    No results matching ""