Redis
挂载文件,自行选择
wget http://download.redis.io/redis-stable/redis.conf
创建对应的文件
bash
mkdir -p /docker/redis/data
mkdir -p /docker/redis/conf
touch /docker/redis/conf/redis.conf # redis.conf什么的都不能是空
docker pull redis:6.0.8
docker run --name mr \
-p 6379:6379 \
-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf \
--privileged=true -d redis:6.0.8 \
redis-server /etc/redis/redis.conf \
--appendonly yes
MySql
bash
docker pull mysql:5.7
#下面对应文件目录要有
docker run --name mysql \
-e MYSQL_ROOT_PASSWORD=1320444219wx \
-p 3306:3306 \
-v /docker/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /docker/mysql/data:/var/lib/mysql \
-d \
mysql:5.7
Nginx
bash
#拉取镜像
docker pull nginx:1.21.6
# 先运行一个实例
docker run --name mn -p 80:80 -d nginx:1.21.6
# 创建挂载目录
mkdir -p /docker/nginx/conf /docker/nginx/log /docker/nginx/html
# 将容器nginx.conf文件复制到宿主机
docker cp mn:/etc/nginx/nginx.conf /docker/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp mn:/etc/nginx/conf.d /docker/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp mn:/usr/share/nginx/html /docker/nginx/html
#删除正在运行的nginx容器
docker rm -f mn
#再次运行一个新的容器进行挂载
docker run \
-p 80:80 \
--name mn \
-v /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /docker/nginx/html:/usr/share/nginx/html \
-v /docker/nginx/conf/conf.d:/etc/nginx/conf.d \
-d nginx:1.21.6
MongoDB
-
拉取镜像:docker pull mongo:latest
-
运行一个容器:docker run -itd --name mongo -p 27017:27017 mongo --auth
-
进入容器修改配置信息
bash
docker exec -it mongo mongosh admin
# 创建一个名为 admin,密码为 wangxing 的用户。
db.createUser({ user:'root',pwd:'root',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
db.auth('root', 'wangxing')
Minio
-
拉镜像
docker pull minio/minio
-
运行
bash
docker run -p 9000:9000 -p 9090:9090 --name minio \
-d --restart=always \
-e MINIO_ACCESS_KEY=123456\
-e MINIO_SECRET_KEY=123456\
-v /docker/minio/data:/data \
-v /docker/minio/config:/root/.minio \
minio/minio server /data --console-address ":9090" --address ":9000"