赞
踩
docker search mysql
docker pull mysql
docker pull mysql:版本号
docker images
注意mysql:lastest 表示为最新版本。【注意,如果安装较低或较高版本mysql,可能会出现中文存储乱码问题】
cd /data
mkdir mysql
mkdir conf
mkdir logs
mkdir data
firewall-cmd --list-all
firewall-cmd --add-port=3307/tco --permanent
firewall-cmd --reload
docker run -id -p 3307:3306 --name=mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
类似以下内容
docker: Error response from daemon: driver failed programming external connectivity on endpoint mysql8.0 (40258727d69ad134fd5ab114ced064d470a34164a5fa6133cb75d8d43e96d6b8): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0
--dport 3307 -j DNAT --to-destination 172.17.0.2:3306 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)).
经过查阅资料得知是docker0网桥的原因,解决上面报错问题需要进行一下步骤
具体文章可以看这位大佬的,我也是参考后解决:https://blog.csdn.net/weixin_30919235/article/details/101665464
注意:解决上面这个问题后,先删除刚才创建的msyql容器,再重新运行启动容器命令。
删除容器指令
docker ps -a // 参考启动的docker容器
docker rm b7735650df8e // 指定ID删除
再启动
docker run -id -p 3307:3306 --name=mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
systemctl stop firewalld
。docker exec -it mysql bash//进入容器的命令
mysql -u root -p //登录MySQL
//登录以后进行授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何远程主机都可以访问数据库
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。