Docker Compose 常用命令

时间:2023-03-09 08:38:44
Docker Compose 常用命令

Compose常用选项


  • # docker-compose主命令后面跟其他命令
  • docker-compose
  • Usage: docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
  • -f 指定Compose配置文件,默认docker-compose.yml
  • -p 指定项目名称,默认目录名
  • --verbose 显示更多的输出

  • # 重新构建服务
  • build
  • Usage: build [options] [--build-arg key=val...] [SERVICE...]
  • --no-cache 不使用缓存构建镜像
  • --build-arg key=val 设置构建时变量

  • # 验证和查看Compose文件语法是否正确
  • config
  • Usage: config [options]
  • -q, --quiet 只验证不打印
  • --services 只打印服务名称,每行一个
  • --volumes 打印数据卷名称,每行一个

  • # 在运行的容器里执行命令
  • exec
  • Usage: exec [options] SERVICE COMMAND [ARGS...]
  • -d 在后台运行命令
  • --privileged 给这个进程赋予特权权限
  • -u, --user USER 作为该用户运行该命令
  • -T 禁用分配伪终端,默认分配一个终端
  • --index=index 多个容器时的索引数字,默认1

  • # 打印绑定的开放端口
  • port
  • Usage: port [options] SERVICE PRIVATE_PORT
  • --protocol=proto tcp或udp,默认tcp
  • --index=index 多个容器时的索引数字,默认1

  • # 列出容器
  • ps
  • Usage: ps [options] [SERVICE...]
  • -q 只显示ID

  • # 删除停止的服务容器
  • rm
  • Usage: rm [options] [SERVICE...]
  • -f, --force 强制删除
  • -s, --stop 删除容器时如果需要先停止容器
  • -v 删除与容器相关的任何匿名卷

  • # 指定一个服务启动容器数
  • scale
  • Usage: scale [options] [SERVICE=NUM...]

  • # 创建和启动容器
  • up
  • Usage: up [options] [--scale SERVICE=NUM...] [SERVICE...]
  • -d 在后台运行容器
  • -t 指定超时时间
  • -no-deps 不启动连接服务
  • --no-recreate 如果容器存在,不重建他们
  • --no-build 不构建镜像,即使它丢失
  • --build 启动容器下构建镜像
  • --scale SERVICE=NUM 指定一个服务(容器)的启动数量

  • # 停止服务
  • stop
  • Usage: stop [SERVICE...]

  • # 启动服务
  • start
  • Usage: start [SERVICE...]

  • # 重启服务
  • restart
  • Usage: restart [options] [SERVICE...]

  • # 显示容器运行进程
  • top
  • Usage: top [SERVICE...]

  • # 显示容器的输出
  • logs
  • -f, --follow 实时输出日志
  • -t, --timestamps 显示时间戳
  • --tail="all" 从日志末尾显示行数

  • # 停止容器和删除容器、网络、数据卷和镜像
  • down

  • # 创建一个服务
  • create

  • # 接收容器输出的事件
  • events

  • # 查看命令帮助
  • help

  • # 列出本地Docker的镜像
  • images

  • # 杀死一个容器,可以发送信号
  • kill

  • # 挂起容器
  • pause

  • # 指定发布绑定的端口
  • port

  • # 下载镜像
  • pull

  • # 推送镜像
  • push

注:通常docker-compose命令只在含有docker-compose.yml文件目录下执行。只去找该文件内的服务,所以当批量部署服务时尽量将所有服务器写入到一个目录结构下。