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

core@localhost ~/base $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5a02ce457c87 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
#使用容器的名字来停止容器
db001
core@localhost ~/base $ docker rm db001
#使用容器的名字来删除容器
db001
core@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之间的连接就算完成了。

docker:从 tomcat 容器连接到 mysql 容器的更多相关文章

  1. docker学习-lnmp+redis之搭建mysql容器服务

    一. 前期准备工作,创建配置文件目录,log文件目录,数据库DATA和WEB站点目录[root@T1 ~]# mkdir -p /lnmp/conf/{mysql,nginx,php} /lnmp/l ...

  2. docker 创建.netcore2.2 api容器 以及连接mysql容器

    1]环境说明 操作系统:Window 10 专业版 开发工具 Vs2019专业版 Docker:  Docker for Windows  docker在windows上安装完毕之后可以看到 2]拉取 ...

  3. DOCKER 学习笔记5 Springboot+nginx+mysql 容器编排

    前言 在上节的内容中,我们已经通过一个简单的实例,将Docker-compose 进行了实际的应用.这一小节中.我们将通过学习和了解,着重认识容器的编排,上一节只算是一个小小的测试.在这一节中.我们将 ...

  4. docker构建mysql容器及Navicat 远程连接

    1. MySQL部署 1.1拉取MySQL镜像 docker pull mysql 查看镜像 docker images 1.2创建MySQL容器 首先建立所需要的 文件夹: docker run - ...

  5. docker部署多个mysql容器,并使用java连接

    测试springboot多个数据源配置时,需要安装多个mysql容器,由于资源限制,当前只有一台虚拟机,如果在一台机器上安装多个mysql实例,是可以的,但步骤比较繁琐,使用docker来安装MySQ ...

  6. 使用docker创建MySQL容器,并在springboot中使用

    最近在看网上找了个springboot的项目试试,在项目中需要的MySQL版本是5.7,但是本机的MySQL只有5.5.因此想着在我的服务器上跑一个MySQL:5.7的容器解决这一问题,但是在实际操作 ...

  7. docker安装mysql,tomcat,并且在tomcat可以访问到mysql

    1.uname -an 查看当前系统版本 2.yum -y install docker 下载安装docker 3.service docker start  启动docker服务 4.docker ...

  8. Docker实战(五)之端口映射与容器互联

    除了网络访问外,Docker还提供了两个很方便的功能来满足服务访问的基本需求:一个是允许映射容器内应用的服务端口到本地宿主主机;另一个是互联机制实现多个容器间通过容器名来快速访问. 1.端口映射实现访 ...

  9. 2. Docker部署tomcat, nginx, redis,及docker私有仓库

    1. 部署tomcat 1.1 下载tomcat       docker pull tomcat:7-jre8 1.2 部署容器  docker run -di --name=tomcat -p 8 ...

随机推荐

  1. javascript获取随机rgb颜色和十六进制颜色的方法

    <div id="console">在线交易平台的成功秘诀:从 Ebay 到 Yelp 到 Uber</div> <script type=" ...

  2. php向队列服务里插入一条insert sql例如

    Iserver简介 Iserver是一个用python编写的网络服务框架(编译版本3.4.1),使用的是epool网络模型 测试机配置 处理器 2x Genuine Intel(R) CPU T205 ...

  3. java密码验证正则表达式校验

    ,正则表达式就是记录文本规则的代码.php密码验证正则表达式(8位长度限制)<?php //密码验证 $password = "zongzi_Abc_oo13a2"; $n ...

  4. php文件以二进制形式上传并放入到数据库中

    conn.php: <?php $id=mysql_connect('localhost','root','root'); mysql_select_db("db_database12 ...

  5. 修改ssh服务端口

    第一种: 01假如要改Linux SSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config中Port 22,这里把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同 ...

  6. HTTP 笔记与总结(2 )HTTP 协议的(请求行的)请求方法 及 (响应行的)状态码

    (请求行的)请求方法 包括: GET,POST,HEAD,PUT,TRACE,DELETE,OPTIONS 注意:这些请求方法虽然是 HTTP 协议规定的,但是 Web Server 未必允许或支持这 ...

  7. 根据设备宽高动态设置View的大小

    得到设备屏幕宽高: WindowManager wManager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); ...

  8. 4Web镇之旅:开始链接

    为了将网页发布到web上,需要一个全日工作的网络服务器,最好的方法是找到一家主机代理商. 域名是用来定位网站的第一无二的名字. 网页的最顶层目录就是根目录.在Web服务器中,因为根目录中的东西有可能在 ...

  9. Android之Fragment学习笔记②(Fragment生命周期)

    一. Fragment生命周期图                                  二.Fragment生命周期方法介绍 Fragment的生命周期和activity生命周期很像,其生 ...

  10. 文件管理php代码操作文件

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...