minio
docker run --name test-minio --restart=always \
-p 9000:9000 \
-v /nfsdata/minio:/data \
-v /nfsdata/minio/config:/root/.minio \
-e "MINIO_ACCESS_KEY=username" \
-e "MINIO_SECRET_KEY=password" \
-d minio/minio server /data
mysql
mysql 版本 5.7.13
1. 在宿主机上创建配置文件路径及数据库持久化路径
mkdir /home/docker-data/mysql/{mysql.conf.d,data}
2. 编写配置文件运行并挂载
#### 编写配置文件
```bash
vi /home/docker-data/mysql/my.cnf
# 内容如下
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
bind-address = 0.0.0.0
symbolic-links=0
lower_case_table_names=1
event_scheduler=1
init_connect='SET collation_connection = utf8mb4_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
max_connections = 1000
运行命令
docker run --name=mysql --restart=always --privileged=true \
-p 3306:3306 \
-v /home/docker-data/mysql/my.cnf:/etc/mysql/my.cnf \
-v /home/docker-data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD="password" \
-e TZ="Asia/Shanghai" \
-v /etc/localtime:/etc/localtime:ro \
-d mysql:5.7.13
# show variables like '%lower_case_table_names%';
# show variables like '%character-set-server%';
# show variables like '%collation-server%';
# show variables like '%event_scheduler%';
# show variables like '%max_connections%';
注意: 在使用
-v /etc/localtime:/etc/localtime:ro
挂载时请确认宿主机的时区是否正确
可参考 Centos 及 Ubuntu 修改时区
redis
1. 创建挂载目录
mkdir -p /nfsdata/redis/{data,conf}
2. 从官网下载当前版本配置文件 官网链接:Redis
下载完成后找到redis.conf文件
3. 修改配置文件
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
daemonize no#默认no
databases 16 #数据库个数(可选)
appendonly yes #redis持久化(可选)
4. 将配置文件放入映射路径 /nfsdata/redis/conf/ 文件夹中
5. 运行
docker run --name=redis --restart=always --privileged=true \
-p 6379:6379 \
-v /nfsdata/redis/data:/data \
-v /nfsdata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis:latest redis-server /etc/redis/redis.conf \
--requirepass "password"
zookeeper
docker run --name=zookeeper --restart=always --privileged=true \
-p 2181:2181 \
-v /nfsdata/zookeeper/data:/data \
-d zookeeper:latest
rabbitmq
docker run --hostname rabhost --name rabbitmq --restart=always \
-p 15672:15672 \
-p 5672:5672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=password \
-v /nfsdata/rabbitmq/data:/var/lib/rabbitmq \
-v /nfsdata/rabbit/data:/var/lib/rabbitmq/mnesia/rabbit@rabhost \
-d rabbitmq:management
-p 参数 服务器端口 : 容器内部端口
-v 参数 服务器路径 : 容器内部路径
评论区