version: "3.9"
services:
webapp: #服务名称
image: webapp:1.0 #所使用的镜像名称
container_name: myWebApp
restart: always #开机启动
ports: #端口映射
- 8083:80 #左边为宿主机端口 右边为容器端口
- 1433:433 #左边为宿主机端口 右边为容器端口
networks: #使用自定义网络
- appNet
volumes: #挂载
- /home/docker/volumes/myWebApp/appsettings.json:/app/appsettings.json #项目配置文件
- /home/docker/volumes/myWebApp/logs:/app/logs #Nlog日志
depends_on: #依赖的服务
- Redis #对应下面服务的名称
- Mysql #对应下面服务的名称
Redis: #服务名称
image: redis #所使用的镜像名称
container_name: myredis
restart: always #开机启动
ports: #端口映射
- 6379:6379
networks: #使用自定义网络
- appNet
volumes: #挂载
- /home/docker/volumes/redis/redis.conf:/etc/redis/redis.conf
- /home/docker/data/redis/data:/data
command:
/bin/bash -c "redis-server /etc/redis/redis.conf"
Mysql: #第二个服务名称
restart: always
image: mysql:5.7 #所使用的镜像名称
container_name: mysql01
environment:
MYSQL_HOST: mysql
MYSQL_ROOT_PASSWORD: chch123
MYSQL_USER: chenwolong
MYSQL_PASSWORD: ch12345678
MYSQL_DATABASE: Student
TZ: Asia/Shanghai #时区
ports: #端口映射
- 3307:3306
networks: #使用自定义网络
- appNet
volumes: #挂载
- /home/docker/volumes/mysql/conf/my.cnf:/etc/my.cnf
- /home/docker/data/mysql/data:/var/lib/mysql
command: --default_authentication_plugin=mysql_native_password #解决外部无法访问
networks:
appNet: