docker安装mysql
1:需要下载mysql镜像 我们可以直接执行以下命令
sudo docker pull mysql:5.7
执行完之后,我们使用docker images查看是否下载好了
这样就代表我们的mysql镜像已经下载,接下来需要docker替我们创建并启动一个mysql容器
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-v /mydata/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
这里说明一下:
众所周知,创建的一个实例其实就是一个简洁的linux系统
-p 3306:3306代表将当前实例的mysql容器中的3306端口映射到linux的3306端口
-v /mydata/mysql/data:/var/lib/mysql \ 将mysql的数据文件夹挂载到主机
-v /mydata/mysql/conf:/etc/mysql \ 将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql \ 将日志文件夹挂载到主机
MYSQL_ROOT_PASSWORD=root \ 初始化root用户密码
-d mysql:5.7 -d代表以后台方式运行 mysql:5.7代表用的是哪个镜像
挂载之后我们就不用进入到mysql容器里面去操作里面的一些配置和数据了,可以通过挂载在linux里面进行修改配置,获取我们需要的东西。
执行该命令需要管理员权限,可以使用root用户执行,也可以sudo强制执行。
我们执行docker ps 查看运行中的容器
在这里,可以查看我们运行的容器,镜像,创建的命令,创建时间,状态,端口映射
每一个容器都是一个简易的linux系统
我们想要进入到容器中,可以执行以下命令
docker exec -it 进入交互模式
docker exec -it mysql /bin/bash 即可进入到我创建的容器中 注意:mysql是我创建容器的名称 这里也可以使用容器id来进入
接下来我们安装好了mysql的实例容器,那么现在进行配置mysql
我们前面已经挂载了mysql容器里面的文件夹到外部
那么直接访问修改我们设置的外部文件夹即可
vi /mydata/mysql/conf/my.cnf
然后插入以下配置
[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
然后重启mysql容器即可
执行命令:docker restart mysql (容器名称) 进行重启
至此 docker安装mysql完成
docker安装redis
1:使用docker 下载redis
执行命令:docker pull redis (后面不跟版本号就默认最新)
然后创建的一个redis实例
(1)先创建挂载在linux的目录,这里因为redis.conf文件一开始是没有的,所以这里先进行预先创建
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
(2)再执行创建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
这样便是执行成功了
我们需要用到docker的客户端进行操作,docker这里也给我们备好了
执行 docker exec -it redis redis-cli 就进入了客户端,在这里,你可以根据key值查找你的value,不过还是推荐使用redis-desktop-manager软件进行查看管理。
redis持久化操作:(可用可不用,根据需要)
vi /mydata/redis/conf/redis.cnf
然后插入:
appendonly yes
这可以让redis启用aof的持久化操作,之后我们重启docker 即可
docker restart redis
如果我们需要虚拟机进行重启后,mysql和redis都能自动启动,那么执行
sudo docker update 容器名 --restart=always
下列链接更新配置文件版,对后续mysql主从,redis集群都需要配置文件进行配置,有需要请到以下链接查看
https://blog.youkuaiyun.com/boywcx/article/details/117782448
https://blog.youkuaiyun.com/boywcx/article/details/117850797