docker compose

lxjian01 -
docker compose
docker compose启动常用软件配置jenkinsmysqlpostgresqlredismongonginx
version: "3"
networks:
  overnet:
    name: overnet
    attachable: true
services:
  jenkins:
    image: "jenkins/jenkins:2.303.3"
    restart: always
    ports:
      - 8080:8080
    networks:
      - overnet
    volumes:
      - /data/jenkins_home:/var/jenkins_home
  mysql:
    image: "mysql:5.7.31"
    restart: always
    ports:
      - 3306:3306
    networks:
      - overnet
    environment:
      MYSQL_ROOT_PASSWORD: "123456789"
    command: [
        '--character-set-server=utf8mb4',
        '--collation-server=utf8mb4_general_ci',
        '--max_connections=3000'
    ]
    volumes:
      - /data/mysql/initdb.d:/docker-entrypoint-initdb.d
      - /data/mysql/log:/var/log/mysql
      - /data/mysql/conf:/etc/mysql/conf.d
      - /data/mysql/data:/var/lib/mysql
  psql_db:
    image: "postgres:13-alpine"
    restart: always
    ports:
      - 5432:5432
    environment:
      - POSTGRES_PASSWORD=123456789
    networks:
      - overnet
    volumes:
      - /data/postgres/initdb.d:/docker-entrypoint-initdb.d
      - /data/postgres/postgresql.conf:/etc/postgresql/postgresql.conf
      - /data/postgres/data:/var/lib/postgresql/data
  redis:
    image: redis
    restart: always
    ports:
      - 6379:6379
    networks:
      - overnet
    volumes:
      - /data/redis/conf:/etc/redis
    command: ["redis-server", "/etc/redis/redis.conf"]
  mongo:
    image: mongo
    restart: always
    ports:
      - 27017:27017
    networks:
      - overnet
    volumes:
      - /data/mongo/db:/data/db
  nginx:
    container_name: nginx-master
    image: nginx
    restart: always
    ports:
      - 80:80
      - 443:443
    networks:
      - overnet
    extra_hosts:
      - host.docker.internal:192.168.0.16
    volumes:
      - /data/nginx/nginx.conf:/etc/nginx/nginx.conf
      - /data/nginx/conf.d:/etc/nginx/conf.d
      - /data/nginx/sites-available:/etc/nginx/sites-available
      - /data/nginx/sites-enabled:/etc/nginx/sites-enabled
      - /data/www/serve:/usr/share/nginx/html
      - /data/nginx/cert:/etc/nginx/cert
init 文件/data/mysql/initdb.d/init.sh
#!/bin/bash

mysql --protocol=socket -uroot -p$MYSQL_ROOT_PASSWORD <<EOSQL
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
create database test default charset utf8;
grant all on *.* to 'test'@'%';
flush privileges;
EOSQL
/data/postgres/initdb.d/init.sh
#!/bin/bash
set -e

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
    create user test_user with password '123456';
    create DATABASE test ENCODING='UTF8' owner test_user;
    grant all privileges on database test to test_user;
EOSQL
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

docker-composemysqlpostgresqlmongodbredis

扩展阅读

加个好友,技术交流

1628738909466805.jpg