装置 mysql
关上容器镜像官网
2.3.1 镜像官网搜寻 mysql
2.3.2 抉择 tags 装置 mysql 镜像
抉择版本: 5.7
sudo docker pull mysql:5.7
2.3.3 装置完之后查看已装置镜像
sudo docker images
输入:
[vagrant@localhost ~]$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 8679ced16d20 34 hours ago 448MB
2.3.4 创立实例并启动:
sudo 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=mypasswd \
-d mysql:5.7
参数阐明:
-p 3306:3306 将容器的 3306 端口映射到主机的 3306 端口;
–name mysql 给以后启动的容器取名叫 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=mypasswd - e 设置参数, 初始化 root 用户的明码
-d 当前台形式运行(daemon) -v 都是目录挂载(挂在后在 linux 能够间接批改就会同步到容器外部 - 相当于快捷方式
);
mysql:5.7 指定用哪个镜像启动的这个容器
2.3.5 查看 docker 正在运行中的容器:
[root@localhost vagrant]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1f582c4433c5 mysql:5.7 "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
2.3.6 进入容器外部查看容器环境:
2.3.6.1 执行命令 docker exec -it:
-it = interactive model 交互模式
docker exec -it 1f582c4433c5 /bin/bash
或者 docker exec -it mysql /bin/bash
2.3.6.2 命令阐明:
docker exec -it
示意进入交互模式; 前面跟 容器 id
或者 name
都能够;
[root@localhost vagrant]# docker exec -it 1f582c4433c5 /bin/bash
root@1f582c4433c5:/# ls
bin boot dev docker-entrypoint-initdb.d entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@1f582c4433c5:/# exit
exit
[root@localhost vagrant]# docker exec -it mysql /bin/bash
root@1f582c4433c5:/# ls
bin boot dev docker-entrypoint-initdb.d entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@1f582c4433c5:/#
2.3.7 docker 容器的阐明
- 每
docker run
一次就启动一个独立的容器;- 容器之间是相互隔离的;
- 每一个容器都是一个残缺的运行环境;
见下面 2.3.6 的内容:
docker exec -it
进入交互模式, 能够看到每个容器外部都是独立的 linux, 都有本人独立的目录构造;
2.3.8 扩大 - 批改配置等
2.3.8.1 减少 my.cnf 配置文件
装置 docker 容器实现后, linux 就生成了映射目录 /mydata/mysql
上面有 3 个目录 log data conf
, 当初进入 /mydata/mysql/conf
cd /mydata/mysql/conf
而后 vi my.cnf
:wq
保留
[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.3.8.2 批改完配置文件, 重启 docker 容器 mysql
docker restart mysql
重启后即可应用 mysql