Docker组成:部署容器化应用程序
#教程 #php #docker #containers

previous project中,我们与Docker部署了一个容器化的应用程序,该应用程序涉及一些过程,例如创建容器(MySQL Server,Application和Apache Server),使用Docker文件,创建网络和运行几个Docker命令,并在命令行接口(CLI)。这个过程可能变得太乏味了。今天,我们将以更可靠,高效,更简单的方式使用Docker Compose来构建以前的项目理解和部署我们的应用程序容器。

Docker作曲家

Compose是Docker的工具,用于构建由多个Docker容器组成的应用程序。
组合中的容器称为服务。这些服务是用一个YAML文件来定义的,该文件指定了您的应用程序的配置(例如,Docker-compose.yml),然后使用一个命令创建并启动您的多包装。

先决条件

让我们开始!

与Docker合作的部署

要跟随,克隆应用程序的here并将目录更改为工具。

# Clone repo
git clone https://github.com/darey-devops/tooling.git

# change directory
cd tooling/

clone repo

创建文件,命名 tooling_app.yaml 并粘贴以下代码段。

version: "3.9"

services:
  tooling_frontend:
    build: .
    ports:
      - "5000:80"
    volumes:
      - tooling_frontend:/var/www/html
    depends_on:
      - db
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: <The database name required by Tooling app >
      MYSQL_USER: <The user required by Tooling app >
      MYSQL_PASSWORD: <The password required by Tooling app >
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql
      - ./html/tooling_db_schema.sql:/docker-entrypoint-initdb.d/tooling_db_schema.sql
volumes:
  tooling_frontend:
  db:

在上面的配置文件中更新mysql_database,mysql_user和mysql_password。

  • 版本: 指定Docker的版本构成使用
  • 服务: 要创建和运行的容器
  • 构建: 指定用于从源创建容器图像的构建配置。
  • 端口: 指定主机端口到容器端口的映射
  • 卷: 指定存储或数据
  • 依赖性_on: express Services之间的依赖性
  • 图像: 指定要运行的Docker图像。
  • 重新启动: 重新启动容器

在服务下,您拥有前端应用程序和MySQL数据库。 YAML文件还使用目录中的DockerFile配置。DockerFile指定了前端和Apache Server的配置。

确保您的更新html/db_conn.php

mysql_ip mysql ip地址“ db”来自组合文件
MySQL_USER MySQL用户导出为环境变量
MySQL_Pass MySQL密码的用户被导出为环境可变性
mysql_dbname mysql databse名称“ toolingdb”

html/db_conn.php
db

允许Docker退出并再次登录

sudo usermod -aG docker ubuntu

运行命令启动容器

# -f specifies the Compose configuration files
docker compose -f tooling_app.yaml  up

compose

验证组合是否处于运行状态:

docker compose ls

running
确保在您的安全组中打开端口5000。

security group
从浏览器

验证

browser view

恭喜!!!您已经成功地使用了Docker Compose。 PPE果实水果:他们。

一如既往,我期待您对本文的想法。请随时发表评论!