version: '3.8' # docker-compose文件格式版本services: # 定义该compose下的服务(注意compose中的管理都是以service为单位,各个服务之间的相互访问也是通过service,类似一个域名) nginx-server: # 定义一个叫nginx-service的服务 image: nginx:1.22.0-alpine # container_name: nginx-web1 # 定义容器的名称,尽量不要使用# network_mode: bridge #网络1,使用docker安装后的默认网桥 expose: - 80 - 443 ports: - "80:80" - "443:443" networks: #网络2,使用自定义的网络,如果网络不存在则会自动创建该网络并分配子网,并且容器会有两块网卡 - front - backend links: # 依赖于tomcat-server服务,即需要等tomcat-server服务启动后自己的服务才会启动 - tomcat-server
tomcat-server: #image: tomcat:7.0.93-alpine image: registry.cn-hangzhou.aliyuncs.com/zhangshijie/tomcat-myapp:v1 container_name: tomcat-app1 # 注意该容器中有代码会去连mysql数据库(在/data/tomcat/webapps/myapp/index.jsp文件中) ##network_mode: bridge #网络1,使用docker安装后的默认网桥 #expose: # - 8080 #ports: # - "8080:8080" networks: #网络2,使用自定义的网络,如果网络不存在则会自动创建该网络并分配子网,并且容器会有一块网卡 - backend links: - mysql-server
mysql-server: image: mysql:5.6.48 container_name: mysql-container# network_mode: bridge #网络1,使用docker安装后的默认网桥 volumes: # 通过挂载卷的方式将mysql数据持久化 - /data/mysql:/var/lib/mysql #- /etc/mysql/conf/my.cnf:/etc/my.cnf:ro environment: - "MYSQL_ROOT_PASSWORD=12345678" - "TZ=Asia/Shanghai" expose: - 3306 ports: - "3306:3306" networks: #网络2,使用自定义的网络,如果网络不存在则会自动创建该网络并分配子网,并且容器会有一块网卡 - backend
networks: # 网路相关配置 front: #自定义前端服务网络,需要docker-compose创建 driver: bridge backend: #自定义后端服务的网络,要docker-compose创建 driver: bridge default: #使用已经存在的docker0默认172.17.0.1/16的网络 external: name: bridge
评论