服务器 > 服务器 > 云虚拟主机

Docker Compose 配置指南小结

7人参与 2025-04-24 云虚拟主机

docker compose 是一个用于定义和运行多容器 docker 应用的工具。通过一个 docker-compose.yml 文件,你可以轻松地定义应用中的服务、网络、存储卷等资源,并用一个命令启动所有服务。docker compose 主要用于简化多容器应用的开发、测试和部署流程。

本文将详细介绍 docker compose 的配置、常用命令,以及使用方法的具体示例。

1. docker compose 配置

docker compose 的核心配置文件是 docker-compose.yml,它遵循 yaml 格式来定义应用中的多个服务。

1.1 基本配置结构

一个最基础的 docker-compose.yml 文件结构通常包括以下部分:

services:
  # 定义服务
  web:
    image: nginx  # 使用官方 nginx 镜像
    ports:
      - "8080:80"  # 将宿主机的8080端口映射到容器的80端口
    volumes:
      - ./html:/usr/share/nginx/html  # 将本地html文件夹挂载到容器的html目录
    networks:
      - webnet  # 使用名为 webnet 的网络

  db:
    image: mysql:5.7  # 使用 mysql 镜像
    environment:
      mysql_root_password: example  # 设置mysql root 密码
    networks:
      - webnet  # 使用同样的网络

networks:
  webnet:  # 定义 webnet 网络

1.2 docker-compose.yml 的各部分

1.3 常用配置选项

2. docker compose 使用方法

2.1 创建 docker compose 配置文件

首先,创建一个 docker-compose.yml 文件,定义你的应用程序中所需的服务。

例如,创建一个包含 nginx 和 mysql 的示例文件:

services:
  web:
    image: nginx
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html
    networks:
      - webnet

  db:
    image: mysql:5.7
    environment:
      mysql_root_password: example
    networks:
      - webnet

networks:
  webnet:

2.2 启动服务

2.3 查看容器状态

可以使用以下命令查看正在运行的容器状态:

docker compose ps

输出示例如下:

       name                     command               state           ports         
------------------------------------------------------------
myapp_db_1          docker-entrypoint.sh mysqld   up      3306/tcp
myapp_web_1         /docker-entrypoint.sh nginx    up      0.0.0.0:8080->80/tcp

2.4 查看服务日志

可以查看各个服务的日志信息:

docker compose logs

或者查看特定服务的日志,例如查看 web 服务:

docker compose logs web

2.5 停止服务

停止并删除所有服务容器及其相关资源:

docker compose down

如果只想停止服务,而不删除容器,可以使用:

docker compose stop

2.6 重新构建服务

如果修改了 dockerfile 或 docker-compose.yml 中的某些内容,可以使用 --build 参数重新构建镜像:

docker compose up --build

这样会重新构建服务并启动容器。

3. docker compose 常用命令

3.1 docker compose up

启动和运行多容器服务。通过 docker-compose.yml 文件来启动、停止容器。

docker compose up

常用参数:

3.2 docker compose down

停止并删除所有容器、网络、卷等资源。

docker compose down

常用参数:

3.3 docker compose ps

查看当前运行的容器和服务状态。

docker compose ps

输出包括每个容器的名称、状态、端口等信息。

3.4 docker compose logs

查看服务日志。默认情况下,显示所有服务的日志。

docker compose logs

查看特定服务的日志:

docker compose logs <service-name>

例如,查看 web 服务的日志:

docker compose logs web

3.5 docker compose exec

在正在运行的容器内执行命令。比如,进入 web 容器的 bash 环境:

docker compose exec web bash

3.6 docker compose stop

停止所有运行中的服务容器,但不会删除它们。停止后可以通过 docker compose start 恢复服务。

docker compose stop

3.7 docker compose build

手动构建镜像。如果在 docker-compose.yml 中使用了 build 选项,可以使用此命令来重新构建镜像。

docker compose build

4. 总结

docker compose 是一个功能强大的工具,适用于本地开发、测试和多容器应用的管理。通过一个简单的 docker-compose.yml 文件,你可以定义、构建并管理多个容器应用,避免了手动管理多个 docker 容器的复杂性。本文介绍了如何配置 docker compose 文件、使用流程和常用命令,帮助你更高效地使用 docker compose 来部署和管理容器化应用。

常见的 docker compose 命令如 updownpslogs 等,可以帮助你快速管理和调试多容器应用。此外,compose 的强大功能还包括服务依赖、环境变量、卷管理等,极大地提升了容器化应用的开发效率和可维护性。

到此这篇关于docker compose 配置指南小结的文章就介绍到这了,更多相关docker compose 配置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

docker保存和加载tar及其tar.gz方式

04-24

docker 拉取镜像配置代理的实现

04-24

使用Docker部署Nginx并挂载目录详解

04-24

如何在Ubuntu安装docker以及一些常见报错

04-24

在Ubuntu中安装Docker和docker的使用方式

04-24

docker pull报错unexpected EOF问题的解决方案

04-24

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论