Docker部署mysql,redis,nginx

部署MySQL8.0,并挂载文件

# 拉取镜像
docker pull mysql:8.0

# 创建宿主机挂载文件
cd /mnt
mkdir mysql
cd mysql/
mkdir logs data 

# 启动mysql并挂载文件到宿主机
docker run -p 3306:3306 --name mysql --privileged=true -v /mnt/mysql/logs:/logs -v /mnt/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0

# 说明
--privileged=true	挂载文件权限
-v /mnt/mysql/logs:/logs	挂载日志
-v /mnt/mysql/data:/var/lib/mysql	挂载数据
-v /etc/localtime:/etc/localtime	与宿主机时间同步
-e MYSQL_ROOT_PASSWORD=123456	root账户密码

# 进入MySQL容器
docker exec -it mysql bash

# 使用账号密码登录msyql
mysql -u root -p
123456

# 修改root可远程链接
UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;


# 修改root密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

# 刷新权限
flush privileges

# 退出
exit

部署redis,并挂载文件

# 拉取镜像
docker pull redis

# 创建宿主机挂载文件
cd /mnt
mkdir redis
cd redis/
mkdir conf logs data

# 启动镜像
docker run -p 6379:6379 --name redis -d redis redis-server

# 查看容器
docker ps -a

# 复制配置文件到宿主机
docker cp 容器ID:/etc/redis/redis.conf /mnt/redis/conf

# 给宿主机redis.conf赋权
chmod 777 /mnt/redis/conf/redis.conf

# 停止并删除容器
docker stop 容器ID
docker rm 容器ID

# 启动并挂载文件
docker run -p 6379:6379 --name redis -v /mnt/redis/conf/redis.conf:/etc/redis/redis.conf -v /mnt/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

# 说明
-v /mnt/redis/conf/redis.conf:/etc/redis/redis.conf		挂载配置文件
-v /mnt/redis/data:/data	挂载数据
-d redis redis-server /etc/redis/redis.conf		指定配置文件启动
--appendonly yes	开启redis持久化

部署nginx,并挂载文件

# 拉取镜像
docker pull nginx

# 启动nginx容器
docker run --name nginx -d -p 80:80 -p 443:443 nginx

# 创建宿主机挂载文件
cd /mnt
mkdir nginx
cd nginx/
mkdir conf	logs
cd conf/
mkdir conf.d

# 查看容器
docker ps -a

# 复制配置文件到宿主机
docker cp 容器ID:/etc/nginx/nginx.conf /mnt/nginx/conf
docker cp 容器ID:/etc/nginx/conf.d/default.conf /mnt/nginx/conf/conf.d

# 停止并删除容器
docker stop 容器ID
docker rm 容器ID

# 启动容器并挂载文件
docker run --name nginx -d -p 80:80 -p 443:443 -v /mnt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /mnt/nginx/conf/conf.d:/etc/nginx/conf.d -v /mnt/nginx/logs:/var/log/nginx nginx

# 挂载SSL证书
cd /mnt/nginx/conf/conf.d
mkdir certtest
# 上传证书到certtest目录
# 修改nginx配置文件后重启

你可能感兴趣的:(Linux,docker,redis,mysql)