docker-compose常用命令

docker-compose常用命令

docker-compose 是一个 Docker 生态系统中的工具,用于定义和运行多个 Docker 容器的应用程序。通过一个 YAML 格式的配置文件(通常命名为 docker-compose.yml),docker-compose 允许你描述应用程序的各个服务、容器之间的依赖关系、网络设置、卷挂载等详细配置信息。这样,你可以轻松地管理多容器应用程序的部署和运行,使得开发、测试和生产环境之间的部署更加一致和可重复。

以下是 docker-compose 的主要功能和用途:

  1. 定义多容器应用: 使用 docker-compose.yml 文件,你可以定义一个多容器应用程序,每个容器表示一个服务,比如 Web 服务、数据库、缓存等。这些容器可以协同工作,共同构建一个完整的应用。
  2. 声明式配置: docker-compose.yml 文件使用声明式的配置语法,清晰地定义了容器和服务之间的关系,以及它们的配置。这使得配置易于理解和维护。
  3. 容器编排: docker-compose 提供了一种简化容器编排的方式,允许你在一个命令中启动和停止多个容器,而不必手动管理每个容器的生命周期。
  4. 依赖解析: Docker Compose 可以自动解析容器之间的依赖关系,并按照正确的顺序启动服务,确保每个服务都可以访问其所依赖的服务。
  5. 自定义网络: 你可以创建自定义的 Docker 网络来连接容器,使得容器之间可以安全地通信,而不受主机网络的限制。
  6. 卷挂载: docker-compose 允许你指定容器的数据卷挂载,以便持久化数据或与宿主机文件系统进行交互。
  7. 环境变量管理: 你可以在配置文件中设置环境变量,以自定义容器的配置,例如数据库连接字符串、端口号等。
  8. 多环境支持: 你可以在不同的环境(开发、测试、生产等)中使用不同的 docker-compose.yml 文件,以适应各个环境的需求。
  9. 容器日志和输出: 通过 docker-compose logs 命令,你可以轻松查看容器的日志输出,以诊断和监视应用程序。
  10. 容器扩展性: 你可以根据需要扩展容器的数量,以满足流量增加或负载均衡的要求。

总之,docker-compose 是一个强大的工具,用于简化多容器应用程序的部署和管理,使得容器化应用开发更加高效和可维护。它是 Docker 生态系统中的重要组成部分,广泛用于开发、测试和生产环境中的容器化应用程序部署。

命令对象与格式

对于 Compose 来说,大部分命令的对象既可以是项目本身,也可以指定为项目中的服务或者容器。若没有特别说明,命令

对象将是项目,这意味着项目中所有的服务都会受到命令影响

执行 docker-compose [COMMAND] --help 或者 docker-compose help [COMMAND] 可以查看具体某个命令的使用格式。如下:

docker-compose --help

docker-compose命令的基本使用格式是:

docker-compose [-f=<arg>...] [options] [COMMAND] [ARGS...]

命令选项

-f, --file FILE 指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定;

-p, --project-name NAME 指定项目名称,默认将使用所在目录名称作为项目名;

--x-networking 使用 Docker 的可拔插网络后端特性;

--x-network-driver DRIVER 指定网络后端的驱动,默认为 bridge;

--verbose 输出更多调试信息;

-v, --version 打印版本并退出;

常用命令

docker-compose 命令 --help                     获得一个命令的帮助
docker-compose up -d nginx                     构建启动nignx容器
docker-compose exec nginx bash                 登录到nginx容器中
docker-compose down                            此命令将会停止 up 命令所启动的容器,并移除网络
docker-compose ps                              列出项目中目前的所有容器
docker-compose restart nginx                   重新启动nginx容器
docker-compose build nginx                     构建镜像 
docker-compose build --no-cache nginx          不带缓存的构建
docker-compose top                             查看各个服务容器内运行的进程 
docker-compose logs -f nginx                   查看nginx的实时日志
docker-compose images                          列出 Compose 文件包含的镜像
docker-compose config                          验证文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。 
docker-compose events --json nginx             以json的形式输出nginx的docker日志
docker-compose pause nginx                     暂停nignx容器
docker-compose unpause nginx                   恢复ningx容器
docker-compose rm nginx                        删除容器(删除前必须关闭容器,执行stop)
docker-compose stop nginx                      停止nignx容器
docker-compose start nginx                     启动nignx容器
docker-compose restart nginx                   重启项目中的nignx容器
docker-compose run --no-deps --rm php-fpm php -v   在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器
posted @ 2026-01-05 10:18  hwq1992  阅读(6)  评论(0)    收藏  举报