全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

Python技巧|Docker框架使用系列教程(五)容器间的链接

发布时间:2021-04-22 09:15:00
发布人:小千

      Docker容器的教程这里已经是第五期了,我们今天讲一讲容器之间的链接,包括常用的命令等等,喜欢的话记得收藏起来慢慢看。

5

      容器间的链接有两种方法,任选其一即可

1

      例如:

      docker run -d -P pro/myapp python manager.py

      上面的命令运行完成后,要通过ps查看可以看到对应的容器端口和主机端口的映射关系。

      docker run -d -p 8001:8000 pro/myapp python manager.py

      这样我们就可以通过访问 127.0.0.1:8001(主机) 来访问容器的 8000 端口。这里面默认都是绑定TCP

      要绑定UDP如下命令:

      docker run -d -p 127.0.0.1:8000:8000/udp pro/myapp python manager.py

      安装mysql

      普通命令:sudo docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

      指定编码格式命令:sudo  docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

      Docker容器连接

      端口映射并不是唯一把 docker 连接到另一个容器的方法。docker 有一个连接系统允许将多个容器连接在一起,共享连接信息。docker 连接会创建一个父子关系,其中父容器可以看到子容器的信息。

      容器命名

      docker run -d -P --name blog  pro/myapp python manager.py

      通过--name设定容器名字

      docker inspect -f "{{ .Name }}" aed8addj09a1

      通过上述命令可以返回涌入名字。容器不可以重名,一次要修改名字,需要停止容器后删除。

      容器连接

      如果要连接1个容器,需要先创建容器,然后通过--link连接。

2

      这样就完成了Web容器和DB容器连接到了一起。

      --link name:alias

      name是我们连接容器的名字,alias是link的别名。让我们看如何使用alias。

      下面,我们通过ps查看一下:

      $ docker ps

      这里面在Names我们可以看到sql15.7,这说明sql15.7的父/子关系。这里的父容器是db可以访问子容器web。为此docker在容器之间打开一个安全连接隧道不需要暴露任何端口在容器外部。你会注意到当你启动db容器的时候我们没有使用-P或者-p标识。我们连接容器的时候我们不需要通过网络给mySQL数据库开放端口。

      这样我们可以通过查询Docker的环境变量就可以看到相关信息了(env命令查看容器的环境变量)

      docker run --rm --name web2 --link db:db training/webapp env

      这样就可以通过容器Names来引用对应容器。

      PS:容器中往往没有ping,因此要自己添加

      apt-get install -yqq inetutils-ping

      最后如果你对Python开发感兴趣的话,可以来千锋Python培训班参加我们的Python培训课程,全程名师面授指导,现在咨询还可免费领取Python学习资料,快来获取吧。

相关文章

什么是低代码(Low-Code)?

什么是低代码(Low-Code)?

2023-10-14
什么是编译器,什么是集成开发环境?

什么是编译器,什么是集成开发环境?

2023-10-14
为什么HashMap是线程不安全的?

为什么HashMap是线程不安全的?

2023-10-14
什么是Safety Concept?

什么是Safety Concept?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取