博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker:从 tomcat 容器连接到 mysql 容器
阅读量:6071 次
发布时间:2019-06-20

本文共 1755 字,大约阅读时间需要 5 分钟。

docker 中的容器互联是一个较为复杂的话题,详细内容将在后续章节中介绍。 续前 2 个章节的内容,我们创建了一个 mysql 容器和一个 tomcat 容器,可以使用 「docker ps」来查看他们的状态。

core@localhost ~/base $ docker psCONTAINER ID        IMAGE                              COMMAND                CREATED             STATUS              PORTS                    NAMES5a02ce457c87        tutum/tomcat:8.0                   "/run.sh"              16 minutes ago      Up 16 minutes 0.0.0.0:80->8080/tcp insane_hawking fb4b9ab6a2ba dl.dockerpool.com:5000/mysql:5.7 "/entrypoint.sh mysq 16 hours ago Up 16 hours 0.0.0.0:3306->3306/tcp db001

我们看到这里我们直接把 mysql 的 3306 端口直接映射到了宿主主机上,tomcat 的 8080 端口映射到了宿主主机的80端口上面,他们现在其实可以直接使用宿主主机的地址互联了。在开发环境中这没什么问题,若在生产环境中,可能就会有一定的安全隐患,使用容器互联可以避免这个问题,下面我们来操作一下:

core@localhost ~/base $ docker stop db001#使用容器的名字来停止容器db001core@localhost ~/base $ docker rm db001#使用容器的名字来删除容器db001core@localhost ~/base $ docker run --name db001   -e MYSQL_ROOT_PASSWORD=admin -d mysql:5.7 fe9e65aaf58cd34c12f3c1ab4a3318ae3920300b0f3d0241359c904d7182376f core@localhost ~/base $ docker stop 5a0 5a0 #使用容器的id来停止容器,效果与使用名字一样,而且一般只需要输入容器 id 的前 3 个字符就可以了 core@localhost ~/base $ docker rm 5a0 5a0 core@localhost ~/base $ docker run -d -p 80:8080 --name tomcat001 --link db001:tomysql tutum/tomcat:8.0 #解释下--link 前面的 db001 是我们要连接的数据库服务器的容器名称,后面的 tomysql 是我们要创建的这个链接的名字 e3c136d76b447e885006a43c63f5200c2012a7ce02aaa43860c7a00c130a563e core@localhost ~/base $ docker ps #这里我们可以看到只有tomcat的端口映射到了宿主主机上,而 mysql 的端口只有 tomcat 容器可以连接 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e3c136d76b44 tutum/tomcat:8.0 "/run.sh" 3 seconds ago Up 2 seconds 0.0.0.0:80->8080/tcp tomcat001 fe9e65aaf58c dl.dockerpool.com:5000/mysql:5.7 "/entrypoint.sh mysq 5 minutes ago Up 5 minutes 3306/tcp db001,tomcat001/tomysql

至此,mysql和tomcat之间的连接就算完成了。

 

转载地址:http://wfigx.baihongyu.com/

你可能感兴趣的文章
Internet Message Access Protocol --- IMAP协议
查看>>
Linux 获取文件夹下的所有文件
查看>>
对 Sea.js 进行配置(一) seajs.config
查看>>
dom4j解析xml文件
查看>>
第六周
查看>>
解释一下 P/NP/NP-Complete/NP-Hard 等问题
查看>>
javafx for android or ios ?
查看>>
微软职位内部推荐-Senior Software Engineer II-Sharepoint
查看>>
sql 字符串操作
查看>>
【转】Android布局优化之ViewStub
查看>>
网络安全管理技术作业-SNMP实验报告
查看>>
根据Uri获取文件的绝对路径
查看>>
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
边缘控制平面Ambassador全解读
查看>>
Windows Phone 7 利用计时器DispatcherTimer创建时钟
查看>>
程序员最喜爱的12个Android应用开发框架二(转)
查看>>
vim学习与理解
查看>>
DIRECTSHOW在VS2005中PVOID64问题和配置问题
查看>>
MapReduce的模式,算法以及用例
查看>>