首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从其他3个码头集装箱访问MySQL

问从其他3个码头集装箱访问MySQL
EN

Stack Overflow用户
提问于 2016-12-28 16:56:27
回答 2查看 1.1K关注 0票数 0

目前,我正在尝试设置三个不同的坞容器(php和apache),并让它们侦听我的sql服务器正在运行的第四个容器。有人知道如何才能让mysql容器听其他三个容器吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-28 21:49:14

如果容器连接到同一个自定义码头网络,则它们可以相互交互。网络提供“隔离”(也就是说,只有连接到同一网络的容器才能交互),如果您已经给容器取了一个名称,容器就可以使用容器名作为主机名找到对方。

虽然您可以使用遗留--link选项( --link )实现类似的结果

例如;

为您的应用程序创建一个称为“私有网络”的网络。

代码语言:javascript
复制
docker network create private-net

启动一个名为"db“的MySQL容器,并告诉docker将其连接到”私有网络“网络。请注意,其他容器不需要“发布”端口3306才能连接到它;如果您希望对端口进行公开访问(例如,使您的web服务器可以从internet访问),则只应该发布(-p)端口。

代码语言:javascript
复制
docker run -d --name=db  --net=private-net -e MYSQL_ROOT_PASSWORD="secret" mysql

启动应用程序容器。为了在这里演示这个原理,我们也为此使用了一个mysql容器,但是使用一个shell会话交互地启动它,以展示如何连接到数据库;

代码语言:javascript
复制
docker run -it --name=app --net=private-net mysql bash

root@fb5379f80508:/# # we're in the 'app' container
root@fb5379f80508:/# # connect to the mysql container, using it's name ('db') as hostname
root@fb5379f80508:/# mysql -h db -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.17 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> \q
Bye
root@fb5379f80508:/# # exiting the container
root@fb5379f80508:/# exit
exit

您可以在运行时使用docker network connect和docker network disconnect命令从网络连接/断开容器。容器可以连接到多个网络,如果您有一个由多个应用程序共享的服务,则该网络非常有用。

有关Docker网络的更多信息,请阅读此处的文档:使用网络命令

票数 4
EN

Stack Overflow用户

发布于 2016-12-28 19:51:10

您可以在其他容器的--link mysql:mysql中执行docker run (apache,php.)并且它可以作为mysql在容器内使用。类似于:

代码语言:javascript
复制
docker run -d -p 3306:3306 --name mysql my/mysql
docker run -d -p 8080:8080 --name apache --link mysql:mysql my/apache

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41366452

复制
相关文章

相似问题

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