我正在Windows上运行docker,我用这样的MySql启动一个docker容器
docker run -p 3306:3306 --name test -e MYSQL_ROOT_PASSWORD=secret-pw -d mysql/mysql-server:5.5
Run Code Online (Sandbox Code Playgroud)
然后在我的主机上我启动Mysql工作台并尝试连接但它不起作用.
docker inspect test 显示172.17.0.2上的IP地址,但是当我ping这个时,我得不到回复
得到这个在Linux主机上工作,我很确定我已经完成了相同的步骤
我究竟做错了什么 ?
帮助文档:https://docs.docker.com/samples/library/mysql/
图片链接:https://store.docker.com/images/mysql
命令: docker run --name mysql_container_name --expose = 3306 -p 3306 -v/my/own/datadir:/ path/to/data/dir -e MYSQL_ROOT_PASSWORD = root_pwd -d mysql:tag --character-set-server = utf8mb4 --collation-server = utf8mb4_unicode_ci
mysql_container_name:docker容器名称
暴露:容器暴露端口
p:主机buinding端口
/ path/to/data/dir:共享容器和主机之间的路径
root_pwd:mySql root密码
tag:repository标签
utf8mb4:mysql服务器字符集和排序规则类型
utf8mb4_unicode_ci:mysql服务器字符集和排序规则类型
示例: docker run --expose = 3306 -p 3306 --name mysql -v/my/own/datadir:/ opt/mysql -e MYSQL_ROOT_PASSWORD = 0112358139 -d mysql:latest --character-set-server = utf8mb4 -核对服务器= utf8mb4_unicode_ci
以下步骤远程连接:
docker exec -it mydb bash - >这将连接到mySql容器.
echo"bind-address = 0.0.0.0">> /etc/mysql/my.cnf - >这将更新my.cnf文件.
service mysql restart - >重启mySql服务.
exit - > mySql容器.
docker检查mysql | grep IPAddress - > grep接收器的IP地址.
mysql -h 172.17.0.2 -u root -p - >远程连接到mySql.
| 归档时间: |
|
| 查看次数: |
1314 次 |
| 最近记录: |