首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询居住在桥用户定义网络中的停靠器mysql

问查询居住在桥用户定义网络中的停靠器mysql
EN

Stack Overflow用户
提问于 2017-10-30 21:29:51
回答 1查看 609关注 0票数 2

使用docker,我使用以下方法创建一个网络和mysql映像:

代码语言:javascript
复制
 sudo docker network create --driver bridge mynet_nw
 sudo docker run --network=mynet_nw --name=mydb -v /opt/mysql_data:/var/lib/mysql --env="MYSQL_ROOT_PASSWORD=mypassword" mysql:5.7

我想跑:

代码语言:javascript
复制
 mysql -uroot -pmypassword -h ????? -P 3306

才能在mydb数据库中运行命令。而不是?我试过我的数据库,但它给我带来了错误。我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-30 21:50:59

不幸的是它不是这样工作的。网络选项(如-link选项)用于允许容器之间的通信。

如果要从主机连接,可以使用以下示例进行连接:

代码语言:javascript
复制
MYSQL_IPADD=$( docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mydb )
mysql -uroot -pmypassword -h $MYSQL_IPADD -P 3306

否则,您可以将端口3306映射到主机:

代码语言:javascript
复制
docker run --network=mynet_nw -p 3306:3306 --name=mydb -v /opt/mysql_data:/var/lib/mysql --env="MYSQL_ROOT_PASSWORD=mypassword" mysql:5.7
mysql -uroot -pmypassword -h localhost -P 3306

另一种选择是使用容器mysql命令与服务器通信:

代码语言:javascript
复制
docker run -it --network mynet_nw mysql mysql -uroot -pmypassword -h mydb -P 3306
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47024465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档