1、镜像加速拉取MySQL镜像

http://www.docker-cn.com/registry-mirror

a)docker search mysql 检索MySQL

b)mysql:5.6.41  冒号后面为版本号,对应https://hub.docker.com/中的tag

[root@localhost docker]# docker pull registry.docker-cn.com/library/mysql:5.6.41


5.6.41: Pulling from library/mysql
802b00ed6f79: Pull complete
30f19a05b898: Pull complete
3e43303be5e9: Pull complete
94b281824ae2: Pull complete
51eb397095b1: Pull complete
3f6fe5e46bae: Pull complete
b5a334ca6427: Pull complete
115764d35d7a: Pull complete
719bba2efabc: Pull complete
284e66788ee1: Pull complete
0f085ade122c: Pull complete
Digest: sha256:4c44f46efaff3ebe7cdc7b35a616c77aa003dc5de4b26c80d0ccae1f9db4a372
Status: Downloaded newer image for registry.docker-cn.com/library/mysql:5.6.41

2、查看MySQL镜像

a)docker images                  查看所有本地镜像

b)docker rmi image-id         删除指定的本地镜像

[root@localhost src]# docker images
REPOSITORY                             TAG                 IMAGE ID            CREATED             SIZE
registry.docker-cn.com/library/mysql   5.6.41              1f47fade220d        4 weeks ago         256MB

3、创建MySQL配置文件夹

[root@localhost /]# cd /usr/local/src/
[root@localhost src]# mkdir -p config/mysql/springboot
[root@localhost src]# cd config/mysql/springboot
[root@localhost springboot]# pwd
/usr/local/src/config/mysql/springboot

4、启动MySQL

a)-p

docker指令:docker run -p ip:hostPort:containerPort mysql

使用-p参数会分配宿主机的端口映射到虚拟机。
IP表示主机的IP地址。
hostPort表示宿主机的端口。
containerPort表示虚拟机的端口。

支持的格式有三种:

ip:hostPort:containerPort:映射指定地址的指定端口到虚拟机的指定端口(不常用)
如:127.0.0.1:3306:3306,映射本机的3306端口到虚拟机的3306端口。
ip::containerPort:映射指定地址的任意端口到虚拟机的指定端口。(不常用)
如:127.0.0.1::3306,映射本机的3306端口到虚拟机的3306端口。
hostPort:containerPort:映射本机的指定端口到虚拟机的指定端口。(常用)
如:3306:3306,映射本机的3306端口到虚拟机的3306端口。

b)--name

容器名称

c)-v

改mysql的配置文件就只需要把mysql配置文件放在自定义的文件夹下(/usr/local/src/config/mysql/springboot)

d)-e

MYSQL_ROOT_PASSWORD:root密码
MYSQL_ALLOW_EMPTY_PASSWORD :空密码
MYSQL_RANDOM_ROOT_PASSWORD:设置为yes以生成根用户的随机初始密码(使用pwgen)
这个三个参数必须指定一个
更多MySQL参数详见下方参考网站①

e)-d

后台运行

f)registry.docker-cn.com/library/mysql:5.6.41

docker images 中的 REPOSITORY:TAG (注意:如果REPOSITORY的不在镜像中,它会重新拉取一个镜像并启动!

[root@localhost springboot]# docker run -p 3306:3306 --name springboot -v /usr/local/src/config/mysql/springboot:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d registry.docker-cn.com/library/mysql:5.6.41


04d5e345c3d760cc1b4e08568540824a8852d01de278ac2c797522015f2161a6

 

附录:

a)解决删除镜像时image is referenced in multiple repositories

用repository和tag的方式来删除

详见参考网站②

docker rmi registry.docker-cn.com/library/mysql:5.6.41

b)参考网站

https://hub.docker.com/_/mysql/

https://blog.csdn.net/u013258415/article/details/80051082

10-04 17:43