• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > Docker使用Link在容器之间建立连接

Docker使用Link在容器之间建立连接

作者:kongxx 字体:[增加 减小] 来源:互联网

本文主要包含docker,link多个容器,docker,容器互联link,docker建立容器等服务器相关知识,kongxx 希望可以进行参考

在使用Docker的时候我们会常常碰到这么一种应用,就是我需要两个或多个容器,其中某些容器需要使用另外一些容器提供的服务。比如这么一种情况:我们需要一个容器来提供mysql的数据库服务,而另外两个容器作为客户端来连接使用mysql数据库服务。下面我们就来看看Docker是怎样通过Link来实现这种功能的。

1. 这里我们首先创建两个容器image,一个用来模拟mysql数据库,另外一个使用mysql的client来模拟一些使用mysql服务的应用,这种应用可以是任何php,python,java等的应用。

1.1 先创建一个mysql_server目录并在其下创建一个Dockerfile文件,内容如下

FROM centos:centos6
MAINTAINER Fanbin Kong "kongxx@hotmail.com"

RUN yum install -y mysql-server mysql

RUN /etc/init.d/mysqld start &&\
 mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'letmein';"&&\
 mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'letmein';"&&\
 mysql -u root -pletmein -e "show databases;"

EXPOSE 3306

CMD ["/usr/bin/mysqld_safe"]

然后根据Dockerfile来创建image

sudo docker build -t kongxx/mysql_server . 

1.2 创建一个mysql_client目录并在其下创建一个Dockerfile文件,内容如下

FROM centos:centos6
MAINTAINER Fanbin Kong "kongxx@hotmail.com"



RUN yum install -y mysql

然后根据Dockerfile来创建image

sudo docker build -t kongxx/mysql_client . 

1.3 创建完image之后,我们可以使用下面命令来查看结果

$ sudo docker images | grep kongxx
kongxx/mysql_client latest  aa31f22f6fc5 2 hours ago  303.7 MB
kongxx/mysql_server latest  3b9b08c8dda4 2 hours ago  353.3 MB

2. 第二步是根据image来创建我们的应用场景

2.1 首先创建提供mysql数据库服务的容器

sudo docker run --name=mysql_server -d -P kongxx/mysql_server

2.2 分别创建两个使用上一步创建出来mysql数据库服务的容器

第一个应用容器

第二个应用容器

这里需要特别注意一下“–link=mysql_server:db”,这个参数就是告诉Docker容器需要使用“mysql_server”容器,并将其别名命名为db,这样在这两个容器里就可以使用“db”来作为提供mysql数据库服务的机器名。所以在最后启动参数里我们使用的是“/usr/bin/mysql -h db -u root -pletmein”来连接mysql数据库的。

2.3 运行完上面两个命令,我们就会在创建了两个mysql的client的容器,此时我们可以使用下面命令来查看状态

sudo docker ps
CONTAINER ID IMAGE   COMMAND  CREATED  STATUS  PORTS   NAMES
ac0c76c627c0 kongxx/mysql_client:latest /usr/bin/mysql -h db 10 seconds ago Up 9 seconds     mysql_client2
763c4825722d kongxx/mysql_client:latest /usr/bin/mysql -h db 41 minutes ago Up 40 minutes     mysql_client
32f7839f7e9d kongxx/mysql_server:latest /usr/bin/mysqld_safe About an hour ago Up About an hour 0.0.0.0:49153->3306/tcp mysql_client1/db,mysql_client2/db,mysql_server 0.0.0.0:49153->3306/tcp mysql_client1/db,mysql_client2/db,mysql_server

这里注意一下最后一行,也就是mysql_server容器的“NAMES”列的内容“mysql_client/db,mysql_client2/db,mysql_server”,这就说明mysql_client1和mysql_client2都和db建立的连接。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:

  • Docker如何使用link建立容器之间的连接
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Docker实践8:Compose,docker实践compose
  • Docker buildx构建多平台镜像并推送到私有仓库的方法
  • Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
  • 什么是Docker?为什么要使用Docker
  • docker 开源的应用容器引擎
  • 如何给docker设置http代理
  • docker官方mysql镜像自定义配置详解
  • 详解Docker数据管理(数据卷&数据卷容器)
  • 如何利用Docker容器实现代理转发与数据备份详解
  • 详解Docker Swarm 在持续集成测试中的应用

相关文章

  • XenServer使用ISO安装虚拟机系统的方法
  • CloudStack 安装及使用过程中常见问题汇总
  • 详解Docker 容器使用 cgroups 限制资源使用
  • Docker 网络模式(四种)详细介绍
  • docker 如何搭建私有仓库(ubuntu 14.04,Docker版本1.6.4)详细介绍
  • docker添加多网卡的方法
  • Docker使用过程中的一些注意事项
  • docker pull镜像速度慢的问题解决方法
  • docker nginx 运行后无法访问的问题解决
  • Docker 下载镜像慢的问题解决办法

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • VirtualBox简体中文版下载安装(图解教程)
    • VirtualBox主机虚拟机互通的实现方法
    • 在VMware中Nat方式设置静态IP的方法
    • 8个你可能不知道的Docker知识
    • virtualbox win7 iis 由于扩展配置问题而无法提供您请求的页面
    • zabbix监控docker容器状态【推荐】
    • Docker service命令详解(小结)
    • 详解Docker使用Linux iptables 和 Interfaces管理容器网络
    • Docker 容器虚拟化的实用技巧总结
    • Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有