Docker运行 Redis、Mysql、Nginx、MongoDB、Minio等

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
  1. 拉取镜像:docker pull mongo:latest

  2. 运行一个容器:docker run -itd --name mongo -p 27017:27017 mongo --auth

  3. 进入容器修改配置信息

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
  1. 拉镜像docker pull minio/minio

  2. 运行

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"
相关推荐
hey you~9 分钟前
云呼叫中心坐席自动分配实战:ACD 策略、Redis+Lua 实现与排查清单
数据库·redis·lua·云呼叫中心·acd·坐席分配·坐席状态机
夜雪一千19 分钟前
MySQL 数据字典如何获得
数据库·mysql
n1121225 分钟前
Docker 容器时区错 8 小时:3 个坑
运维·docker·容器·故障排查·服务器运维·容器时区
honsor27 分钟前
用 Grafana 做温湿度异常检测:从阈值告警到趋势预测
数据库·mysql·php
lusklusklusk42 分钟前
SQL Server 为什么普通 SELECT 会阻塞 UPDATE?——行级 S 锁到表级 S 锁的锁升级原理与实验验证
数据库·mysql·oracle
慈云数据1 小时前
用 DSH 辅助部署一个网站监控平台:Uptime Kuma + Docker 实战
运维·docker·容器
螺蛳粉 螺蛳粉1 小时前
第 03 篇:为什么 K8s 的最小调度单元是 Pod 而不是容器:pause 容器与边车模式(底座认知 03)
docker·云原生·容器·kubernetes·etcd·运维排障·kube-apiserver
程序员塔塔喵2 小时前
【MySQL篇|第十而二篇】深层次讲解MVCC机制
mysql·mvcc
我不会起名字3222 小时前
Redis pipeline 用了反而更慢:3 类误用与正确的批量姿势
redis·pipeline·lua·rtt·批量
Tsuki_tl2 小时前
【总结】Redis五大数据类型应用场景及基本命令
数据库·redis·后端·缓存·缓存中间件·redis命令·redis 五大数据类型