记录 docker-compose一键安装mysql,redis,gitlab,zookeeper,kafka
前提条件:docker和docker-compose
运行命令(停止所有容器):docker-compose stop
运行命令(启动所有容器后台运行):docker-compose up -d
version: "3.1"
services:
mysql:
image: mysql:8
container_name: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: Abcd1234
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--default-authentication-plugin=mysql_native_password
ports:
- 3306:3306
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/conf:/etc/mysql/conf.d
redis:
image: redis:6
container_name: redis
restart: always
ports:
- 6379:6379
volumes:
- ./redis/conf/redis.conf:/etc/redis/redis.conf
- ./redis/data:/data
- ./redis/logs:/logs
command:
redis-server /etc/redis/redis.conf
gitlab:
image: gitlab/gitlab-ce
container_name: gitlab
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.1.105:8085/'
gitlab_rails['gitlab_shell_ssh_port'] = 2212
ports:
- 8085:8085
- 8443:443
- 2212:2212
volumes:
- ./gitlab/config:/etc/gitlab
- ./gitlab/logs:/var/log/gitlab
- ./gitlab/data:/var/opt/gitlab
zookeeper:
image: zookeeper:3.6
container_name: zookeeper
restart: always
ports:
- 2181:2181
volumes:
- ./zookeeper/data:/data
- ./zookeeper/datalog:/datalog
- ./zookeeper/logs:/logs
kafka:
image: wurstmeister/kafka:2.13-2.7.0
restart: always
container_name: kafka
depends_on:
- zookeeper
links:
- zookeeper
ports:
- 9092:9092
environment:
KAFKA_ADVERTISED_HOST_NAME: 192.168.1.105
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LOG_DIRS: /home/kafka/log
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./kafka/log:/home/kafka/log