docker-compose-dev.yaml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. version: "3"
  2. # 声明一个名为network的networks,subnet为network的子网地址,默认网关是177.7.0.1
  3. networks:
  4. network:
  5. ipam:
  6. driver: default
  7. config:
  8. - subnet: '177.7.0.0/16'
  9. # 设置mysql,redis持久化保存
  10. volumes:
  11. mysql:
  12. redis:
  13. services:
  14. web:
  15. image: node:16
  16. container_name: gva-web
  17. hostname: gva-web #可以通过容器名访问
  18. restart: always
  19. ports:
  20. - '8080:8080'
  21. depends_on:
  22. - server
  23. working_dir: /web # 如果docker 设置了workdir 则此处不需要设置
  24. #若网络不太好,请自行换源,如下
  25. #command: bash -c "yarn config set registry https://registry.npm.taobao.org --global && yarn install && yarn serve"
  26. command: bash -c "yarn install && yarn serve"
  27. volumes:
  28. - ../../web:/web
  29. networks:
  30. network:
  31. ipv4_address: 177.7.0.11
  32. server:
  33. image: golang:1.18
  34. container_name: gva-server
  35. hostname: gva-server
  36. restart: always
  37. ports:
  38. - '8888:8888'
  39. depends_on:
  40. - mysql
  41. - redis
  42. volumes:
  43. - ../../server:/server
  44. working_dir: /server # 如果docker 设置了workdir 则此处不需要设置
  45. command: bash -c "go env -w GOPROXY=https://goproxy.cn,direct && go mod tidy && go run main.go"
  46. links:
  47. - mysql
  48. - redis
  49. networks:
  50. network:
  51. ipv4_address: 177.7.0.12
  52. mysql:
  53. image: mysql:8.0.21 # 如果您是 arm64 架构:如 MacOS 的 M1,请修改镜像为 image: mysql/mysql-server:8.0.21
  54. container_name: gva-mysql
  55. hostname: gva-mysql
  56. command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci #设置utf8字符集
  57. restart: always
  58. ports:
  59. - "13306:3306" # host物理直接映射端口为13306
  60. environment:
  61. #MYSQL_ROOT_PASSWORD: 'Aa@6447985' # root管理员用户密码
  62. MYSQL_DATABASE: 'qmPlus' # 初始化启动时要创建的数据库的名称
  63. MYSQL_USER: 'gva'
  64. MYSQL_PASSWORD: 'Aa@6447985'
  65. volumes:
  66. - mysql:/var/lib/mysql
  67. networks:
  68. network:
  69. ipv4_address: 177.7.0.13
  70. redis:
  71. image: redis:6.0.6
  72. container_name: gva-redis # 容器名
  73. hostname: gva-redis
  74. restart: always
  75. ports:
  76. - '16379:6379'
  77. volumes:
  78. - redis:/data
  79. networks:
  80. network:
  81. ipv4_address: 177.7.0.14