栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker配置mysql,nginx,redis

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker配置mysql,nginx,redis

目录

1、mysql

2、nginx

2.1. 安装与挂载目录

2.2.nginx测试

3、Redis


1、mysql
 docker pull mysql:5.7

-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-v /mydata/mysql/conf:/etc/mysql:将主机当前目录下的 /mydata/mysql/conf挂载到容器的 /etc/mysql

如果这里出现3306占用,因为你的Linux服务器已经装了mysql并启动了服务,记得关闭

service mysqld stop

 docker run -p 3306:3306 --name mysql 
-v /mydata/mysql/log:/var/log/mysql 
-v /mydata/mysql/data:/var/lib/mysql 
-v /mydata/mysql/conf:/etc/mysql 
-e MYSQL_ROOT_PASSWORD=root 
-d mysql:5.7

进入容器 

docker exec -it mysql /bin/bash

配置config

vi /mydata/mysql/conf/my.conf

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

2、nginx

2.1. 安装与挂载目录
docker pull nginx
# 随便启动一个nginx实例,只是为了复制出配置,放到docker里作为镜像的统一配置
docker run -p 80:80 --name nginx -d nginx

# 把nginx里的东西复制出来
cd /mydata/nginx
docker container cp nginx:/etc/nginx .
然后在外部 /mydata/nginx/nginx 有了一堆文件
mv /mydata/nginx/nginx /mydata/nginx/conf
# 停掉nginx
docker stop nginx
docker rm nginx

# 创建新的nginx,使用刚才复制出来的配置文件
docker run -p 80:80 --name nginx 
-v /mydata/nginx/html:/usr/share/nginx/html 
-v /mydata/nginx/logs:/var/log/nginx 
-v /mydata/nginx/conf:/etc/nginx 
-d nginx

# 注意一下这个路径映射到了/usr/share/nginx/html,我们在nginx配置文件中是写/usr/share/nginx/html,不是写/mydata/nginx/html

#设置开启自启
docker update nginx --restart=always

nginx本机目录,用来挂载docker里面的nginx配置

一共是4个,目录层级好好看,类似这个:mkdir /mydata/nginx/conf

conf 挂载容器里面的配置,即nginx.conf
conf.d 挂载容器里面的子配置,即nginx.conf里面include的配置文件
logs 挂载容器里面的代理的日志文件
html 挂载容器里面的界面的访问

2.2.nginx测试

在/mydata/nginx/html下新建vim index.html 输入内容

 在浏览器上输入自己的域名

3、Redis

 如果直接挂载的话docker会以为挂载的是一个目录,所以我们先创建一个文件然后再挂载,在虚拟机中。

# 在虚拟机中
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

docker pull redis

docker run -p 6379:6379 --name redis 
-v /mydata/redis/data:/data 
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf 
-d redis redis-server /etc/redis/redis.conf

# 直接进去redis客户端。
docker exec -it redis redis-cli

修改配置文件,默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。修改完docker restart redis,docker -it redis redis-cli

vim /mydata/redis/conf/redis.conf
# 插入下面内容
appendonly yes
保存

docker restart redis

设置redis容器在docker启动的时候启动

docker update redis --restart=always

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/730401.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号