Docker Compose 开发环境项目教程

随笔3个月前发布 张杰
60 0 0

Docker Compose 开发环境项目教程

compose-dev-env项目地址:https://gitcode.com/gh_mirrors/co/compose-dev-env

1. 项目的目录结构及介绍




compose-dev-env/


├── backend/


│   ├── Dockerfile


│   ├── go.mod


│   └── main.go


├── db/


│   └── password.txt


├── proxy/


│   ├── Dockerfile


│   └── nginx.conf


├── LICENSE


├── README.md


├── compose-dev.yaml


└── docker-compose.yaml

backend/: 包含Go服务器的Dockerfile和源代码。db/: 包含MariaDB数据库的密码文件。proxy/: 包含Nginx代理的Dockerfile和配置文件。LICENSE: 项目许可证。README.md: 项目说明文档。compose-dev.yaml: 开发环境的Docker Compose配置文件。docker-compose.yaml: Docker Compose配置文件。

2. 项目的启动文件介绍

项目的启动文件主要是docker-compose.yamlcompose-dev.yaml。这两个文件定义了如何启动和管理项目中的各个服务。

docker-compose.yaml




version: '3.8'


services:


  proxy:


    image: nginx:latest


    ports:


      - "8080:80"


      - "80:80"


    depends_on:


      - backend


  backend:


    build: ./backend


    ports:


      - "8000:8000"


    depends_on:


      - db


  db:


    image: mariadb:latest


    environment:


      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password


    secrets:


      - db_root_password


secrets:


  db_root_password:


    file: ./db/password.txt

compose-dev.yaml




version: '3.8'


services:


  app:


    image: golang:latest


    volumes:


      - ./backend:/app


    working_dir: /app


    command: go run main.go

3. 项目的配置文件介绍

backend/Dockerfile




FROM golang:latest


WORKDIR /app


COPY go.mod .


COPY main.go .


RUN go build -o server main.go


CMD ["./server"]

proxy/Dockerfile




FROM nginx:latest


COPY nginx.conf /etc/nginx/nginx.conf

proxy/nginx.conf




events {


    worker_connections 1024;


}


http {


    server {


        listen 80;


        location / {


            proxy_pass http://backend:8000;


        }


    }


}

db/password.txt

root_password

通过这些配置文件,可以构建和运行项目的各个组件,包括Go服务器、Nginx代理和MariaDB数据库。

compose-dev-env项目地址:https://gitcode.com/gh_mirrors/co/compose-dev-env

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...