Docker中Mysql容器启动
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
一 下拉镜像
docker pull mysql:5.7
docker images查看镜像
二 运行镜像
1 运行镜像如果不挂载路径运行执行以下就可以
docker run -id --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
-i:表示创建并运行容器
-d:表示后台运行
-p映射端口相对于访问宿主机ip:3306 就是访问的mysql容器
-e:配置mysql这里设置了一下root密码当然也可以也又其它设置选项在这没用到
mysql:5.7:镜像名和版本如果这个镜像不存在会自动下载镜像
2.挂载路径
挂载路径的好处一是方便我们修改和查看比如修改mysql配置文件my.cnf不挂载的话需要进入容器然后在修改my.cnf挂载出来后可以直接在宿主机查看日志文件也是同样的第二个好处是防止暑假丢失如果容器不小心停止删除了数据库中的所有数据就丢失了。
docker run -id --name mysql
-v /docker/mysql/log/:/var/log
-v /docker/mysql/data/:/var/lib/mysql
-v /docker/mysql/my.cnf:/etc/my.cnf
-p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
用了三个-v分别挂载出来日志 mysql数据和my.cnf-v 宿主机文件 容器中文件
直接运行上面命令可能启动失败需要在宿主机中先创建一个my.cnf,即在宿主机docker/mysql中床新建一个文件my.cnf文件内容为
[mysqld]
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
docker ps查看运行的容器
使用可视化工具连接mysql测试