• 精创网络
  • 精创网络
  • 首页
  • 产品优势
  • 产品价格
  • 产品功能
  • 新闻中心
  • 关于我们
  • 在线客服
  • 登录
  • DDoS防御和CC防御
  • 精创网络云防护,专注于大流量DDoS防御和CC防御。可防止SQL注入,以及XSS等网站安全漏洞的利用。
  • 免费试用
  • 新闻中心
  • 关于我们
  • 资讯动态
  • 帮助文档
  • 白名单保护
  • 常见问题
  • 政策协议
  • 帮助文档
  • 在Ubuntu22上使用Docker Compose管理多容器应用
  • 来源:www.jcwlyf.com浏览:27更新:2025-11-27
  • 在现代软件开发和部署中,容器化技术已经成为了一种主流的解决方案。Docker 作为容器化技术的代表,极大地简化了应用程序的打包、分发和部署过程。而 Docker Compose 则是 Docker 生态系统中的一个重要工具,它允许用户使用 YAML 文件来定义和管理多个 Docker 容器的应用。本文将详细介绍如何在 Ubuntu 22 系统上使用 Docker Compose 来管理多容器应用。

    一、Ubuntu 22 系统准备

    在开始使用 Docker Compose 之前,需要确保你的 Ubuntu 22 系统已经完成了基本的更新和配置。打开终端,执行以下命令来更新系统软件包列表和安装必要的依赖:

    sudo apt update
    sudo apt upgrade -y
    sudo apt install apt-transport-https ca-certificates curl software-properties-common

    这些命令会更新系统的软件包索引,将已安装的软件包升级到最新版本,并安装一些必要的传输协议和证书相关的软件包。

    二、安装 Docker 引擎

    要使用 Docker Compose,首先需要安装 Docker 引擎。可以通过 Docker 官方的存储库来安装最新版本的 Docker。执行以下命令添加 Docker 官方 GPG 密钥:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

    接着,添加 Docker 存储库到系统中:

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

    再次更新软件包列表,并安装 Docker 引擎:

    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io

    安装完成后,验证 Docker 是否安装成功,执行以下命令:

    sudo docker run hello-world

    如果看到输出信息表明 Docker 已经成功运行,说明 Docker 引擎安装成功。

    三、安装 Docker Compose

    安装 Docker Compose 可以通过官方的二进制文件进行。首先,下载最新版本的 Docker Compose:

    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    然后,赋予下载的二进制文件执行权限:

    sudo chmod +x /usr/local/bin/docker-compose

    验证 Docker Compose 是否安装成功,执行以下命令查看版本信息:

    docker-compose --version

    如果能够正确显示版本号,说明 Docker Compose 已经安装成功。

    四、创建 Docker Compose 文件

    接下来,我们将创建一个简单的多容器应用示例,使用 Docker Compose 来管理。假设我们要创建一个包含一个 Web 服务器和一个数据库的应用。首先,创建一个项目目录,并在该目录下创建一个名为 docker-compose.yml 的文件:

    mkdir myapp
    cd myapp
    touch docker-compose.yml

    使用文本编辑器打开 docker-compose.yml 文件,添加以下内容:

    version: '3'
    services:
      web:
        image: nginx:latest
        ports:
          - "80:80"
        depends_on:
          - db
      db:
        image: mysql:latest
        environment:
          MYSQL_ROOT_PASSWORD: example
          MYSQL_DATABASE: mydb
          MYSQL_USER: user
          MYSQL_PASSWORD: password

    在这个 YAML 文件中,我们定义了两个服务:web 和 db。web 服务使用最新版本的 Nginx 镜像,并将容器的 80 端口映射到主机的 80 端口。db 服务使用最新版本的 MySQL 镜像,并设置了数据库的相关环境变量。

    五、启动多容器应用

    在项目目录下,执行以下命令来启动 Docker Compose 管理的多容器应用:

    docker-compose up -d

    -d 参数表示以守护进程模式运行容器,即容器在后台运行。Docker Compose 会根据 docker-compose.yml 文件中的配置,自动下载所需的镜像,并启动相应的容器。

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

    docker-compose ps

    如果看到 web 和 db 容器都处于运行状态,说明应用已经成功启动。

    六、访问应用

    在浏览器中输入服务器的 IP 地址或域名,就可以访问 Nginx 服务器。由于我们将容器的 80 端口映射到了主机的 80 端口,所以可以直接通过 http://your_server_ip 来访问。

    同时,可以使用数据库管理工具(如 MySQL Workbench)来连接到 MySQL 数据库。连接信息如下:

    主机:服务器的 IP 地址

    端口:3306

    用户名:user

    密码:password

    数据库:mydb

    七、停止和删除容器

    当需要停止和删除 Docker Compose 管理的多容器应用时,可以执行以下命令:

    docker-compose down

    该命令会停止并删除所有由 Docker Compose 启动的容器、网络和卷。

    八、Docker Compose 的高级用法

    除了基本的启动和停止容器,Docker Compose 还有许多高级用法。例如,可以使用 docker-compose build 命令来构建自定义的镜像。假设我们有一个自定义的 Web 应用,需要使用 Dockerfile 来构建镜像。在项目目录下创建一个 Dockerfile:

    FROM nginx:latest
    COPY ./index.html /usr/share/nginx/html/

    在 docker-compose.yml 文件中修改 web 服务的配置:

    version: '3'
    services:
      web:
        build: .
        ports:
          - "80:80"
        depends_on:
          - db
      db:
        image: mysql:latest
        environment:
          MYSQL_ROOT_PASSWORD: example
          MYSQL_DATABASE: mydb
          MYSQL_USER: user
          MYSQL_PASSWORD: password

    这里使用 build: . 表示使用当前目录下的 Dockerfile 来构建镜像。然后执行以下命令来构建和启动应用:

    docker-compose build
    docker-compose up -d

    另外,还可以使用 Docker Compose 的环境变量来动态配置应用。在项目目录下创建一个 .env 文件,添加以下内容:

    MYSQL_ROOT_PASSWORD=example
    MYSQL_DATABASE=mydb
    MYSQL_USER=user
    MYSQL_PASSWORD=password

    然后在 docker-compose.yml 文件中引用这些环境变量:

    version: '3'
    services:
      web:
        image: nginx:latest
        ports:
          - "80:80"
        depends_on:
          - db
      db:
        image: mysql:latest
        environment:
          MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
          MYSQL_DATABASE: ${MYSQL_DATABASE}
          MYSQL_USER: ${MYSQL_USER}
          MYSQL_PASSWORD: ${MYSQL_PASSWORD}

    这样可以方便地修改环境变量的值,而不需要直接修改 docker-compose.yml 文件。

    九、总结

    通过本文的介绍,我们学习了如何在 Ubuntu 22 系统上安装 Docker 引擎和 Docker Compose,并使用 Docker Compose 来管理多容器应用。从系统准备、软件安装,到创建 Docker Compose 文件、启动和停止应用,以及一些高级用法,都进行了详细的阐述。Docker Compose 为我们提供了一种简单、高效的方式来管理复杂的多容器应用,大大提高了开发和部署的效率。

    在实际应用中,可以根据具体的需求,进一步扩展和优化 Docker Compose 的配置,例如添加更多的服务、使用自定义的网络和卷等。同时,要注意容器的安全性和资源管理,确保应用的稳定运行。

  • 关于我们
  • 关于我们
  • 服务条款
  • 隐私政策
  • 新闻中心
  • 资讯动态
  • 帮助文档
  • 网站地图
  • 服务指南
  • 购买流程
  • 白名单保护
  • 联系我们
  • QQ咨询:189292897
  • 电话咨询:16725561188
  • 服务时间:7*24小时
  • 电子邮箱:admin@jcwlyf.com
  • 微信咨询
  • Copyright © 2025 All Rights Reserved
  • 精创网络版权所有
  • 皖ICP备2022000252号
  • 皖公网安备34072202000275号