Docker Compose部署Go Web(Nginx,Angular5)项目

1. 安装DockerDocker Compose Ce,具体参考里面的教程学习一下

2.docker-compose.yml配置文件

version: '3' #docker compose版本
services:
  golang:    #go web 服务
    restart: always    #重启模式
    image: golang:latest #使用最新的镜像
    ports:  #端口映射8888, 服务器得配置安全组策略
     - "8888:8888"
    volumes:  #挂载,文件映射
     - ./go/src/blogserver:/go/src/blogserver #服务器源码.也可以build后挂载然后install
     - ./go/logs:/var/log/blogserver  #服务日志的路径
     - ./go/images:/home/blogserver/images #服务器图片上传的路径
    command: go run /go/src/blogserver/main.go #执行命令 直接用go run了. 偷懒了
    environment: #服务器日志文件环境变量,
       APP_CONFIG_PATH: /go/src/blogserver/config.toml
    networks:  #容器服务,具体往下看配置
       blogserver: 
            aliases: #配置别名,在nginx反向代理使用http://golang:8888即可
               - golang


  nginx:
    restart: always
    image: nginx:1.14 #1.14版本nginx服务器
    ports: 
     - "80:80"
    volumes: 
     - ./nginx/web:/web  #web应用程序目录, 
     - ./nginx/site.conf:/etc/nginx/conf.d/default.conf #配置文件
     - ./nginx/logs:/var/log/nginx #nginx日志
    networks:
       blogserver:
            aliases: #别名
               - nginx


  redis:
    restart: always
    image: redis:3.2 #3.2版本redis镜像
    ports:
     - "6379:6379"
    volumes:
     - ./redis:/data  #数据目录
     - ./redis/redis.conf:/usr/local/etc/redis/redis.conf #配置目录,
    command: /usr/local/etc/redis/redis.conf #执行配置
    networks:
       blogserver:
            aliases: #配置别名, 在go里面就可以使用redis:6379,不用具体地址访问了
               - redis


  mysql:
   restart: always
   image: mysql:5.6 #mysql 5.6版本镜像
   ports:
    - "3306:3306"
   volumes: 
    - ./mysql/conf:/etc/mysql/conf.d #mysql配置文件
    - ./mysql/data:/var/lib/mysql #数据目录
    - ./mysql/logs:/logs #日志目录
    - ./mysql/init:/docker-entrypoint-initdb.d #初始化脚本目录,sql.sh等
   environment: #配置mysql 默认账户 root的密码 123456
    MYSQL_ROOT_PASSWORD: 123456
   networks:
       blogserver:
            aliases: #配置别名, 在go里面就可以使用mysql:3306,不用具体地址访问了
               - mysql
#网络通信服务  docker network ls,查看xxx(目录)_blogserver网络服务
networks:
    blogserver: #配置一个名为blogserver网络服务
       driver: bridge  #桥接模式
       ipam:
         driver: default
         config: #自定义网桥ip段,也可以配置ipv4 v6之类,更多详细看官网
           - subnet: 172.88.0.0/24
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值