| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- version: "3.8"
- services:
- nginx:
- build:
- context: ./services/nginx
- args:
- NGINX_VERSION: ${NGINX_VERSION}
- CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}
- NGINX_INSTALL_APPS: ${NGINX_INSTALL_APPS}
- container_name: nginx
- ports:
- - "${NGINX_HTTP_HOST_PORT}:80"
- - "${NGINX_HTTPS_HOST_PORT}:443"
- volumes:
- # - ${GITLAB_RUNNER}:${GITLAB_RUNNER}:rw
- - ${SOURCE_DIR}:/www/:rw
- - ${NGINX_SSL_CERTIFICATE_DIR}:/ssl:rw
- - ${NGINX_CONFD_DIR}:/etc/nginx/conf.d/:rw
- - ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf:ro
- - ${NGINX_FASTCGI_PHP_CONF}:/etc/nginx/fastcgi-php.conf:ro
- - ${NGINX_FASTCGI_PARAMS}:/etc/nginx/fastcgi_params:ro
- - ${NGINX_LOG_DIR}:/var/log/nginx/:rw
- environment:
- TZ: "$TZ"
- depends_on:
- - php
- restart: always
- networks:
- - serv-network
- php:
- build:
- context: ./services/php
- args:
- PHP_VERSION: php:${PHP_VERSION}-fpm-alpine
- CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}
- PHP_EXTENSIONS: ${PHP_EXTENSIONS}
- TZ: "$TZ"
- container_name: php
- expose:
- - 9000
- volumes:
- # - ${GITLAB_RUNNER}:${GITLAB_RUNNER}:rw
- - ${SOURCE_DIR}:/www/:rw
- - ${PHP_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro
- - ${PHP_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw
- - ${PHP_LOG_DIR}:/var/log/php
- - ${DATA_DIR}/composer:/tmp/composer
- depends_on:
- - mysql
- - redis
- - mongo
- restart: always
- cap_add:
- - SYS_PTRACE
- networks:
- - serv-network
- mysql:
- image: mysql:${MYSQL_VERSION}
- container_name: mysql
- ports:
- - "${MYSQL_HOST_PORT}:3306"
- volumes:
- - ${MYSQL_CONF_FILE}:/etc/mysql/conf.d/mysql.cnf:ro
- - ${DATA_DIR}/mysql:/var/lib/mysql/:rw
- restart: always
- expose:
- - 3306
- cap_add:
- - SYS_NICE
- networks:
- - serv-network
- environment:
- MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
- TZ: "$TZ"
- redis:
- image: redis:${REDIS_VERSION}
- container_name: redis
- ports:
- - "${REDIS_HOST_PORT}:6379"
- volumes:
- - ${REDIS_CONF_FILE}:/etc/redis.conf:ro
- - ${DATA_DIR}/redis:/data/:rw
- restart: always
- expose:
- - 6379
- entrypoint: ["redis-server", "/etc/redis.conf"]
- environment:
- TZ: "$TZ"
- networks:
- - serv-network
- mongo:
- image: mongo:latest
- container_name: mongodb
- ports:
- - 27017:27017 # 本地端口(可自定义):容器内默认端口(mongo设定为27017)
- expose:
- - 27017
- volumes:
- - ${DATA_DIR}/mongo-entrypoint/:/docker-entrypoint-initdb.d/:rw # 本地文件路径:容器内映射路径
- - mongo-data:/data/db/:rw
- environment:
- MONGO_INITDB_ROOT_USERNAME: root
- MONGO_INITDB_ROOT_PASSWORD: 123456
- restart: always
- networks:
- - serv-network
- command: mongod
- jenkins:
- image: jenkins/jenkins
- container_name: jenkins
- volumes:
- - ${JENKINS_DATA_PATH}:/var/jenkins_home
- ports:
- - "8899:8899"
- - "50000:50000"
- restart: always
- networks:
- - serv-network
- volumes:
- mongo-data:
- networks:
- serv-network:
|