zoukankan      html  css  js  c++  java
  • docker:从 tomcat 容器连接到 mysql 容器

    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之间的连接就算完成了。

  • 相关阅读:
    PAT 甲级 1132 Cut Integer (20 分)
    AcWing 7.混合背包问题
    AcWing 9. 分组背包问题
    AcWing 5. 多重背包问题 II
    AcWing 3. 完全背包问题
    AcWing 4. 多重背包问题
    AcWing 2. 01背包问题
    AcWing 875. 快速幂
    AcWing 874. 筛法求欧拉函数
    AcWing 873. 欧拉函数
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/5770432.html
Copyright © 2011-2022 走看看