jenkins+客户端
jenkins:
restart: always
image: centos7-jenkins-plugins
container_name: docker_jenkins
# volumes:
# - "./jenkins_home/:/var/lib/jenkins/"
ports:
- '222:22'
- '8091:8080'
privileged: true
command: /usr/sbin/init
networks:
- qfedu-gp
web:
restart: always
image: centos7-python3.7
container_name: docker_web
volumes:
- "./web/home/:/home/"
ports:
- '8090:80'
networks:
- qfedu-gp
privileged: true
command: /usr/sbin/init
networks:
qfedu-gp:
gitlab
version: '3'
services:
gitlab:
image: 'twang2218/gitlab-ce-zh'
restart: always
container_name: 'gitlab'
privileged: true
hostname: 'gitlab'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://10.0.122.147'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "songrou1@163.com"
gitlab_rails['smtp_password'] = "rourou11"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'songrou1@163.com'
gitlab_rails['gitlab_shell_ssh_port'] = 220
unicorn['port'] = 8888
nginx['listen_port'] = 80
ports:
- '9000:80'
- '443:443'
- '220:22'
volumes:
- /data/gitlab/config:/etc/gitlab
- /data/gitlab/data:/var/opt/gitlab
- /data/gitlab/logs:/var/log/gitlab
负载均衡关联mysql
version: '2'
services:
db:
image: mysql:5.7
volumes:
- /data/db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- /data/web_data:/var/www/html
ports:
- "80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
django+rabbitmq+redis+mysql+nginx+gitlab+jenkin -----> CI/CD
version: "3.7"
services:
mysqlserver:
image: mysql/mysql-server:5.7
restart: always
tty: true
container_name: composemysql
volumes:
- type: bind
source: ./docker-cmdb/mysql/init.sql
target: /docker-entrypoint-initdb.d/init.sql
# - type: bind
# source: ./docker-cmdb/mysql/confile/my.cnf
# target: /etc/my.cnf
environment:
MYSQL_ROOT_PASSWORD: QFedu123!
expose:
- "3306"
networks:
- jumpserver-test
redisserver:
image: redis:alpine
restart: always
container_name: composeredis
expose:
- "6379"
networks:
- jumpserver-test
rabbitmqserver:
build: ./docker-cmdb/rabbitmq
# build ./rabbitemq
restart: always
container_name: composerabbitmq
expose:
- "8081"
networks:
- jumpserver-test
nginxserver:
build: ./docker-cmdb/nginx/
#build: ./nginx
restart: always
container_name: composenginx
ports:
- "13141:80"
volumes:
- type: bind
source: ./docker-cmdb/nginx/confile/default.conf
target: /etc/nginx/conf.d/default.conf
- type: bind
source: ./docker-cmdb/nginx/allstatics/allstatic
target: /root/
networks:
- jumpserver-test
depends_on:
- cmdb
cmdb:
build: ./docker-cmdb/cmdb
restart: always
container_name: composecmdb
tty: true
command:
- /bin/bash
- -c
- |
python3 /opt/auto_cmdb/manage.py makemigrations
python3 /opt/auto_cmdb/manage.py migrate
uwsgi --ini /opt/auto_cmdb/conf/auto_cmdb.ini
expose:
- "80"
networks:
- jumpserver-test
depends_on:
- mysqlserver
- redisserver
- rabbitmqserver
gitlab:
image: gitlabcicd:latest
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://10.0.122.148:80'
unicorn['worker_timeout'] = 60
unicorn['worker_processes'] = 3 # worker进程数
unicorn['worker_memory_limit_min'] = "200 * 1 << 20" # worker最小内存
unicorn['worker_memory_limit_max'] = "300 * 1 << 20" # worker最大内存
sidekiq['concurrency'] = 10
postgresql['shared_buffers'] = "128MB"
postgresql['max_worker_processes'] = 8
networks:
- jumpserver-test
ports:
- '9280:80'
volumes:
- './docker-cmdb/gitlab/config:/etc/gitlab'
- './docker-cmdb/gitlab/logs:/var/log/gitlab'
- './docker-cmdb/gitlab/data:/var/opt/gitlab'
jenkins:
image: jenkinscicd:latest
restart: always
privileged: true
user: root
volumes:
- type: bind
source: ./docker-cmdb/jenkins/jenkins_home
target: /var/jenkins_home
- type: bind
source: /var/run/docker.sock
target: /var/run/docker.sock
read_only: "yes"
networks:
- jumpserver-test
ports:
- "9980:8080"
networks:
jumpserver-test:
filebeat+logstash+elasticsearch+kibana
version: "3.2"
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
networks:
- "elk-net"
container_name: elasticsearch
ports:
- "9200:9200"
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
filebeat:
container_name: filebeat
image: docker.elastic.co/beats/filebeat:7.4.2
networks:
- "elk-net"
volumes:
- type: bind
source: "./Filebeat/app.log"
target: "/app.log"
- type: bind
source: "./Filebeat/filebeat.yml"
target: "/usr/share/filebeat/filebeat.yml"
depends_on:
- "logstash"
logstash:
container_name: logstash
image: docker.elastic.co/logstash/logstash:7.4.2
volumes:
- type: bind
source: "./logstash/logstash_stdout.conf"
target: "/usr/share/logstash/pipeline/logstash.conf"
networks:
- "elk-net"
depends_on:
- "elasticsearch"
kibana:
container_name: kibana
image: docker.elastic.co/kibana/kibana:7.4.2
networks:
- "elk-net"
ports:
- "5601:5601"
depends_on:
- "elasticsearch"
networks:
elk-net:
网友评论