docker-compose实战部署应用

557 阅读1分钟

本次通过docker-compose来部署前(C)后(R)端(U)应(D)用

  • 前端技术栈: Angular8+NG-ZORRO-ANTD
  • 后端技术栈: Flask+MySQL

本次依旧以CentOS 7为例进行部署

准备步骤

安装docker-compose

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

修改权限

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

软连接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

查看docker-compose版本

正文

目录结构如下

deploy
├── data
│   └── mysql
│       ├── conf.d       
│       │   └── mysql.cnf  # MySQL配置文件
│       └── data
└── docker-compose.yml     

docker-compose.yml

version: '3'
services:
  mysql:                                            # 服务名称
    image: mysql:5.7                                # 镜像
    restart: always   
    volumes:
      - ./data/mysql/conf.d:/etc/mysql/conf.d       # 配置文件挂载
      - ./data/mysql/data:/var/lib/mysql            # 数据挂载
    environment:
      MYSQL_DATABASE: demo                          # 数据库名称
      MYSQL_ROOT_PASSWORD: whoami                   # root密码
      TZ: Asia/Shanghai                             # 时区
    ports:
      - 53306:3306                                  # 端口映射
  friend_frontend:
    image: isplaying/friend_frontend:dev_20200222   # 前端镜像
    restart: always
    depends_on:
      - friend_backend                              # 基于friend_backend启动后启动
    links:
      - friend_backend                              # 容器之间进行连接
    ports:
      - 10011:80                                    # 端口映射
  friend_backend:
    image: isplaying/friend_backend:dev_20200222
    restart: always
    environment:                                    # 环境变量
      MODE: DEVELOPMENT                             
      MYSQL_DATABASE: demo
      MYSQL_PASSWORD: whoami
      TZ: Asia/Shanghai
    depends_on:
      - mysql                                       # 基于mysql启动后启动
    links:
      - mysql
    ports:
      - 10001:10001

执行docker-compose up启动容器

docker-compose up

浏览器输入localhost:10011

添加一条数据

TIPS:关于MySQL连接参数配置

以本文配置为例

通过links访问可直接填写服务名称

host="mysql", port=3306

外部访问则需要填入宿主机ip

host="宿主机ip", port=53306

Install Docker Compose

前端仓库

后端仓库