Docker安装组件<欢迎评论收藏交流>
本文使用环境:
- 服务器CentOS 7.9
- docker 24.0.6
1.Mysql
1.1 环境设置
1.创建并授权mysql日志文件夹
mkdir -p /data/mysql/logs && sudo chmod -R 777 /data/mysql/logs
2.创建mysql配置文件夹,修改配置文件
mkdir -p /data/mysql/conf && vim /data/mysql/conf/my.cnf
3.my.cnf配置文件内容如下
[mysqld]
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
symbolic-links=0
lower_case_table_names=1
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
max_connections= 1000
group_concat_max_len = 10240
wait_timeout= 300
interactive_timeout = 500
[client]
socket=/var/run/mysqld/mysqld.sock
1.2 启动命令
root替换成你自己的mysql密码
docker run --name mysql \
-p 3306:3306 \
-v /data/mysql/conf/my.cnf:/etc/my.cnf \
-v /data/mysql/logs:/var/log \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-e TZ=Asia/Shanghai \
--restart=always \
-d mysql:5.7.40
2.Redis
2.1 环境设置
1.创建redis配置文件夹
mkdir -p /data/redis/conf
2.创建redis配置文件
vim /data/redis/conf/redis.conf
3.redis.conf配置文件内容如下(其中requirepass后面替换为你自己的redis密码)
#bind 127.0.0.1 -::1
protected-mode no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 16
always-show-logo no
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"
stop-writes-on-bgsave-error no
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
rdb-del-sync-files no
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync yes
repl-diskless-sync-delay 5
repl-diskless-sync-max-replicas 0
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
acllog-max-len 128
requirepass redis
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
lazyfree-lazy-user-flush no
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
appendonly no
appendfilename "appendonly.aof"
appenddirname "appendonlydir"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
aof-timestamp-enabled no
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-listpack-entries 512
hash-max-listpack-value 64
list-max-listpack-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-listpack-entries 128
zset-max-listpack-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
jemalloc-bg-thread yes
2.2 启动命令
docker run --name redis \
-p 6379:6379 \
-v /data/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
-e TZ=Asia/Shanghai \
--restart=always \
-d redis:7.0.11 redis-server /etc/redis/redis.conf
3.Mongo
3.1 环境设置
1.创建redis配置文件夹
mkdir -p /data/mongo/conf
2.编辑配置文件内容
vim /data/mongo/conf/init-mongo.sh
3.init-mongo.sh配置文件内容如下
#!/bin/bash
mongo -- "$MONGO_INITDB_DATABASE" <<EOF
db.createUser({
user: "$MONGO_INITDB_USERNAME",
pwd: "$MONGO_INITDB_PASSWORD",
roles: [{ role: "readWrite", db: "$MONGO_INITDB_DATABASE" }]
})
EOF
3.2 启动命令
Test替换为你自己的库,admin替换为你自己的账号,123456替换为你自己的密码
docker run --name mongo \
-p 27017:27017 \
-v /data/mongo/conf/init-mongo.sh:/entrypoint-initdb.d/init-mongo.sh \
-v /data/mongo/data:/data/db \
-e TZ=Asia/Shanghai \
-e MONGO_INITDB_DATABASE=Test \
-e MONGO_INITDB_USERNAME=admin \
-e MONGO_INITDB_PASSWORD=123456 \
--restart=always \
-d mongo:4.0.12
4.RabbitMQ
4.1 环境设置
1.创建rabbitmq日志文件夹
mkdir -p /data/rabbitmq/logs
2.授权rabbitmq日志文件夹
sudo chmod -R 777 /data/rabbitmq/logs
4.2 启动命令
guest换成自己的账号密码
docker run --name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-v /data/rabbitmq/logs:/var/log/rabbitmq \
-v /data/rabbitmq/data:/var/lib/rabbitmq \
-v /etc/localtime:/etc/localtime \
-e RABBITMQ_DEFAULT_USER=guest \
-e RABBITMQ_DEFAULT_PASS=guest \
--restart=always \
-d rabbitmq:3.9.9-management
5.Minio
5.1 启动命令
minio换成自己的账号密码
docker run --name minio \
-p 9000:9000 \
-p 9001:9001 \
-v /data/minio/data:/data \
-v /etc/localtime:/etc/localtime \
-e "MINIO_ROOT_USER=minio" \
-e "MINIO_ROOT_PASSWORD=minio" \
--restart=always \
-d minio/minio:RELEASE.2022-08-02T23-59-16Z server /data \
--console-address ":9001"
6.Zookeeper
6.1 启动命令
先启动zookeeper,再启动kafka
docker run --name zookeeper \
-p 2181:2181 \
-v /data/zookeeper/data:/opt/zookeeper-3.4.6/data \
-v /etc/localtime:/etc/localtime \
--restart=always \
-d zookeeper:3.4.6
7.Kafka
7.1 启动命令
先启动zookeeper,再启动kafka
docker run --name kafka \
-p 9092:9092 \
-v /data/kafka/logs:/kafka \
-v /etc/localtime:/etc/localtime \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ADVERTISED_LISTENERS="PLAINTEXT://服务器IP:9092" \
-e KAFKA_CREATE_TOPICS="test:1:1" \
-e KAFKA_ZOOKEEPER_CONNECT=服务器IP:2181 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--privileged \
--hostname kafka \
--restart always \
-d kafka:2.13-2.7.1