1、常用命令

up

  1. up命令非常强大,它尝试自动完成包括构建镜像,(重新)创建服务、启动服务,并关联服务相关容器的一系列操作,连接的服务都将会被自动启动,除非已经处于运行状态。

    1. docker-compose up [options] [--scale SERVICE=NUM..] [SERVICE...]
  2. 多数情况下我们可以直接通过该命令来启动一个项目

  • up后面常跟选项:
    • -d: 在后台运行服务容器
    • -no-color:不使用颜色来区分不同的服务的控制输出
    • -no-deps:不启动服务所连接的容器
    • -force-recreate:强制重新创建容器,不能与-no-recreate同时使用
    • -no-recreate:如果容器已经存在,则不重新创建,不能与-force-recreate同时使用
    • -no-build:不自动构建缺失的服务镜像
    • -build:在启动容器前构建服务镜像
    • -abort-on-container-exit:停止所有容器,如果任何一个容器被停止,不能与-d同时使用
    • -t, —timeout TIMEOUT:停止容器时候的超时(默认为10秒)
    • -remove-orphans:删除服务中没有在compose文件中定义的容器
    • -scale SERVICE=NUM:设置服务运行容器的个数,将覆盖在compose中通过scale指定的参数

ps

  1. 列出项目目前所有容器
    1. docker-compose ps [options] [SERVICE...]
  • ps后面常跟选项:
    • -q:只打印容器的ID信息

stop

  1. 停止已经处于运行状态的容器,但不删除它
    1. docker-compose stop [options] [SERVICE...]
  • stop后面常跟选项:
    • -t,timeout TIMEOUT:停止容器时候的超时(默认为10)

down

  1. 停止和删除容器、网络、卷、镜像,这些内容是通过docker-compose up命令创建的,默认值删除 容器 网络,可以通过指定rmi、volumes参数删除镜像和卷
    1. docker-compose down [options]
  • down后面常跟选项:
    • -rmi type:删除镜像,类型必须是:’all’:删除compose文件中定义的所有镜像,’local’:删除镜像名为空的镜像
    • -v, —volumes:删除已经在compose文件中定义的和匿名的附在容器上的数据卷
    • -remove-orphans:删除服务中没有在compose中定义的容器

restart

  1. 重启项目中的服务
    1. docker-compose restart [options] [SERVICE...]
  • restart后面常跟选项:
    • -t,—timeout TIMEOUT:指定重启前停止容器的超时(默认为10秒)

rm

  1. 删除所有(停止状态的)服务容器
    1. docker-compose rm [options] [SERVICE...]
  • rm后面常跟选项:
    • -f,—force:强制直接删除,包括非停止状态的容器
    • -v:删除容器所挂载的数据卷

start

  1. 启动已经存在的项目
    1. docker-compose start [options] [SERVICE...]

run

  1. 重启项目中的服务
    1. docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • run后面常跟选项:
    • -d:分离模式:在后台运行容器,打印新的容器名称
    • —name NAME:为容器分配一个名称
    • —entrypoint CMD:覆盖镜像的入口
    • -e KEY=VAL:设置环境变量(可以多次使用)
    • -u,—user=””:以指定的用户名或uid运行
    • —no-deps:不启动连接服务
    • —rm:运行后删除容器,在分离模式下被忽略
    • -p,—publish=[]:将容器的端口发布到主机
    • —service-ports:运行命令,其中弃用了服务的端口并将其映射到主机
    • -T:禁用伪tty分配默认情况下,docker-compose run 分配一个TTY

exec

  1. 与docker exec命令功能相同,可以通过service name登录到容器中
    1. docker-compose exec [options] SERVICE COMMAND [ARGS...]
  • exec后面常跟选项:
    • -d:分离模式,后台运行命令
    • -privileged:获取特权
    • -user USER:指定运行的用户
    • -T:禁用分配TTY. by default docker-compose exec分配 a TTY.
    • -index=index 当一个服务拥有多个容器时,可通过该参数登录到服务器下的任何服务,例如docer-compose exec —index=1 web /bin/bash,web服务中包含多个容器

port

  1. 打开绑定的开放端口
    1. docker-compose port [options] SERVICE PRIVATE_PORT
  • port后面常跟选项:
    • —protoco;=proto tcp 或 udp,默认tcp
    • —index=index 多个容器时的索引数字,默认1

config

  1. 验证和查看compose文件
    1. docker-compose config [options]
  • config后面常跟选项:
    • -q,—quiet:只验证不打印
    • —services:只打印服务名称,每行一个
    • —volumes:打印数据 卷 名称

logs

  1. 显示容器的输出
    1. docker-compose logs [options] [SERVICE...]
  • logs后面常跟选项:
    • -f,—follow:实时输出日志
    • -t,—timestamps:显示时间戳
    • —tail=’all’:从日志末尾显示行数

top

  1. 显示容器运行的进程
    1. docker-compose top [SERVICE...]

kill

  1. 显示容器运行的进程
    1. docker-compose kill [options] [SERVICE...]
  • kill后面常跟选项:
    • -s:发送到容器。默认信号是SIGKILL。

create

  1. 显示容器运行的进程
    1. docker-compose create [options] [SERVICE...]
  • create后面常跟选项:
    • —force-recreate:重新创建容器,即使他们的配置和镜像没有改变。与—no-recreate不兼容
    • —no-recreate:如果容器已经存在,请不要重新创建他们。与—force-recreate不兼容
    • —no-build:及时没有镜像也不要建立镜像

点击返回 docker-compose安装

参考博客

  1. docker 1.10 (w3school) https://www.w3cschool.cn/doc_docker_1_10/docker_1_10-compose-reference-config-index.html?lang=en