加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

容器之间的链接不能使用docker-compose版本2

发布时间:2020-12-16 03:31:36 所属栏目:安全 来源:网络整理
导读:在版本2 docker-compose文件中的容器之间的链接不起作用. 只有当使用旧版本1格式时,我会看到容器的/ etc / hosts中的链接. 我有以下基本版本2 docker-compose.yml文件. version: '2'services: my-app: image: tomcat:8.0 container_name: my-app1 links: - m

在版本2 docker-compose文件中的容器之间的链接不起作用.

只有当使用’旧’版本1格式时,我会看到容器的/ etc / hosts中的链接.

我有以下基本版本2 docker-compose.yml文件.

version: '2'

services:
  my-app:
    image: tomcat:8.0
    container_name: my-app1
    links:
      - my-redis
  my-redis:
    image: redis
    container_name: my-redis1

当我运行以下命令:

docker-compose up -d

我看到启动了两个容器,但在/ etc / hosts文件中没有创建链接:

docker exec -it my-app1 cat /etc/hosts
    127.0.0.1       localhost
    ::1     localhost ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    172.18.0.3      2abb84ccada9

从’my-app1’我可以使用’my-redis1’的IP地址ping另一个容器,但是我不能’ping my-redis1′(根据一个名字).

这里可能是什么问题?

附加信息:

Docker版本1.10.0,build 590d5108
> docker-compose版本1.6.0,构建d99cad6
> Linux内核:4.3.5-300.fc23.x86_64

最佳答案
使用版本2的docker – 组合在同一网络中的“服务”(容器)默认情况下它们之间链接.

使用下面的docker-compose.yml文件

version: '2'

services:
  my-app:
    image: tomcat:8.0
    container_name: my-app1
    links:
      - my-redis
  my-redis:
    image: redis
    container_name: my-redis1

您只需从my-redis容器中执行ping我的应用程序,并从my-app容器中ping我的redis,以检查它们是否被链接.

例如:

$docker-compose up -d
$docker exec -it my-app1 bash
# ping my-redis

您可以在以下链接中获取有关该信息的更多信息:
https://blog.docker.com/2016/02/compose-1-6/
https://github.com/docker/compose/blob/master/docs/networking.md

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读