Docker安装组件<欢迎评论收藏交流>

本文详细介绍了在CentOS7.9环境中使用Docker安装和配置MySQL、Redis、MongoDB、RabbitMQ、Minio以及Zookeeper和Kafka的服务,包括环境设置、配置文件编写和启动命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker安装组件<欢迎评论收藏交流>

本文使用环境:

  1. 服务器CentOS 7.9
  2. 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

福气满满爸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值