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: