docker安装MySQL
使用命令查看镜像
docker images
使用命令查询mysql镜像
docker search mysql
结果如上,如果搜不到结果请修改daemon.json,自行百度,此处不做赘述
docker pull mysql:5.6
这时候使用查看镜像命令
已经下载完成了;
这时候可以启动mysql容器,先创建文件夹进行目录映射,也就是挂载
因为我使用的是root用户,所以目录都是在root目录下创建一个mysql目录;
接下来启动命令如下:
docker run -it -d -p 3306:3306 --name docker_mysql -v $PWD/conf:/etc/mysql -v $PWD/logs:/var/log -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 docker.io/mysql:5.6
-d:表示后台运行,不加-d执行上面的命令你就会看到mysql启动的日志信息了
-p:表示端口映射,冒号左面的是我们的宿主机的端口,也就是我们虚拟机的端口,而右侧则表示的是mysql容器内的端口
--name:是我们给mysql容器取的名字
-v:表示挂载路径,$PWD表示当前目录下,冒号左面的表示我们宿主机的挂载目录,也就是我们虚拟机所在的文件路径,冒号右边则表是的是mysql容器在容器内部的路径
创建容器的时候报错WARNING: IPv4 forwarding is disabled. Networking will not work.
vi /etc/sysctl.conf
# 新增一行
net.ipv4.ip_forward=1
保存后,重启网络
systemctl restart network
如果启动过程中报错:
container_linux.go:247: starting container process caused "container init exited prematurely".
那么可能是容器时间和主体时间不一致,命令修改如下即可:
docker run -it -d -p 3306:3306 --name docker_mysql -v /etc/localtime:/etc/localtime:ro -v $PWD/conf:/etc/mysql -v $PWD/logs:/var/log -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 docker.io/mysql:5.6