一 .mysql
1.去docker的镜像仓库找你需要的镜像,地址https://hub.docker.com/search?q=mysql&type=image
点击搜索到得镜像 在tags里面能找到不同的版本,根据需要的版本下载不同的镜像
2. 安装镜像(切换成root用户:su root)初始密码vagrant
docker pull mysql:5.7
检查时候下载好镜像
docker images
3.创建实例并启动
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
参数说明
-p 3306:3306: 将容器的3306端口映射到主机的3306端口,因为每个容器就相当于一个小的虚拟机,要想外面的虚拟机能够访问里面的虚拟机,必须做端口映射
-v /mydata/mysql/log:/var/log/mysql: 将配置文件夹挂载到主机,这样实现了一个双向绑定,在修改外面的配置文件的时候里面的也跟着改变,里面的被修改的时候,外面的也跟着改变
/mydata/mysq/log:/var/log/mysql:将日志文件夫挂载到主机
-v /mydata/mysql/data:/var/lib/mysql:将配置文件夹挂载到主机-e MYSQL ROOT PASSWORD=root:初始化root用户的密码
-d是以后台的方式运行,mysql:5.7是以哪个镜像启动
4.使用docker ps 查看正在运行中的镜像
然后在/mydata/mysql/conf
vi /mydata/mysql/conf/mv.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
如何进入镜像内部,查看mysql的配置呢
docker exec -it mysql /bin/bash
在到mysql的配置文件的路径下找就可以了
配置mysql,开机自启
docker update mysql--restart=always
二.redis
1.下载镜像
docker pull redis
2.创建实例并启动
首先要创建conf目录下的redis.conf文件,这个不会自动创建
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
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
3.使用redis镜像执行redi-cli命令连接
docker exec -it redis redis-cli
4.修改配置文件,开启持久化
vim redis.conf
添加 appendonly yes
重启redis
docker restart redis
注意:在启动redis的运行了run却发现命令有问题,导致服务没有启动起来
获取 container ID 或者名字
docker container ls -a
如果想要删除正在运行的container,要先停止
docker container stop CONTAINER_ID
删除指定的container
docker container rm CONTAINER_ID 或者 docker container rm CONTAINER_NAME
网友评论