version: '2.2' services: entrance_mysql: # 数据库 # restart: always # 一直启动 image: entrance_mysql:v1 # 镜像(已自定义好的) container_name: entrance_mysql # 容器名称 ports: # 端口暴露(对外) - 3306:3306 volumes: # 挂载数据目录 - /mnt/entrance/docker/mysql_5_7/data:/var/lib/mysql networks: # 同一网络,保障访问 - entrance cap_drop: # 权限 - ALL cap_add: # 权限 - CHOWN - DAC_OVERRIDE - SETGID - SETUID environment: # mysql初始密码 - MYSQL_ROOT_PASSWORD=123456admin entrance_redis: # redis # restart: always # 一直启动 image: entrance_redis:v1 # 镜像(已自定义好的) container_name: entrance_redis # 容器名称 ports: # 端口暴露(对外) - 6379:6379 volumes: # 挂载数据目录 - /mnt/entrance/docker/redis_7_0_12/data:/data networks: # 同一网络,保障访问 - entrance # command: redis-server --requirepass "123456admin" # 配置密码 cap_drop: # 权限 - ALL cap_add: # 权限 - CHOWN - DAC_OVERRIDE - SETGID - SETUID entrance_rabbitmq: # reabbitmq # restart: always # 一直启动 image: entrance_rabbitmq:v1 # 镜像(已自定义好的) container_name: entrance_rabbitmq # 容器名称 ports: # 端口暴露(对外) - 5672:5672 volumes: # 挂载数据目录 - /mnt/entrance/docker/rabbitmq_3_12_2/data:/var/lib/rabbitmq networks: # 同一网络,保障访问 - entrance cap_drop: # 权限 - ALL cap_add: # 权限 - CHOWN - DAC_OVERRIDE - SETGID - SETUID environment: - RABBITMQ_DEFAULT_USER=rabbitmq - RABBITMQ_DEFAULT_PASS=123456admin entrance_mongo: # mongo # restart: always # 一直启动 image: entrance_mongo:v1 # 镜像(已自定义好的) container_name: entrance_mongo # 容器名称 ports: # 端口暴露(对外) - 27017:27017 volumes: # 挂载数据目录 - /mnt/entrance/docker/mongo_6_0_8/db:/data/db - /mnt/entrance/docker/mongo_6_0_8/configdb:/data/configdb networks: # 同一网络,保障访问 - entrance cap_drop: # 权限 - ALL cap_add: # 权限 - CHOWN - DAC_OVERRIDE - SETGID - SETUID environment: - MONGO_INITDB_ROOT_USERNAME=mongo - MONGO_INITDB_ROOT_PASSWORD=123456admin entrance_http_app: # 应用程序 # restart: always # 保持一直启动 image: entrance_http_app:v1 # 镜像(已自定义好的) container_name: entrance_http_app # 容器名称 depends_on: # 启动顺序依赖 - entrance_mysql - entrance_redis - entrance_rabbitmq - entrance_mongo ports: # 端口暴露(对外) - 8080:8080 networks: # 同一网络保障访问 - entrance volumes: # 日志挂载 - /mnt/entrance/docker/app_http_jdk_17/app_logs:/mnt/app_logs - /mnt/entrance/docker/app_http_jdk_17/app_storage:/mnt/app_storage - /mnt/entrance/docker/app_http_jdk_17/app_jars:/mnt/app_jars cap_drop: # 权限 - ALL cap_add: # 权限 - CHOWN - DAC_OVERRIDE - SETGID - SETUID links: # 链接 - entrance_mysql:entrance_mysql - entrance_redis:entrance_redis - entrance_rabbitmq:entrance_rabbitmq - entrance_mongo:entrance_mongo entrance_https_nginx: # 前端程序 image: entrance_https_nginx:v1 # 镜像(已自定义好的) container_name: entrance_https_nginx # 容器名称 privileged: true tty: true depends_on: # 启动顺序依赖 - entrance_http_app ports: # 端口暴露(对外) - 80:80 - 443:443 networks: # 同一网络保障访问 - entrance volumes: # 日志挂载 - /mnt/entrance/docker/nginx_https_1_25_1/www:/usr/share/nginx/html - /mnt/entrance/docker/nginx_https_1_25_1/logs:/var/log/nginx - /mnt/entrance/docker/nginx_https_1_25_1/conf/nginx.conf:/etc/nginx/nginx.conf - /mnt/entrance/docker/nginx_https_1_25_1/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf cap_drop: # 权限 - ALL cap_add: # 权限 - CHOWN - DAC_OVERRIDE - SETGID - SETUID links: # 链接 - entrance_http_app:entrance_http_app networks: entrance: external: false