当前位置: 首页 > 知识库问答 >
问题:

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

华宇
2023-03-14

只有在使用“旧的”版本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
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
    null

共有1个答案

萧琛
2023-03-14

在docker-compose的版本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

您只需从my-redis容器执行ping my-app,并从my-app容器执行ping my-redis,以检查它们是否链接。

$ docker-compose up -d
$ docker exec -it my-app1 bash
# ping my-redis
 类似资料:
  • 我一直在使用docker撰写文件来运行在生产中部署到kubernetes的微服务架构的开发环境,因此我使用将k8s提供的域名映射到撰写服务名称。例如 使用时一切正常。但是当使用新的(注意没有连字符)时,容器无法相互粉碎。Kafka连接失败。HTTP请求失败。 docker cli版本的compose与旧的命令之间是否有任何更改。没有hypen,我看不到docker compose的版本,但有了它,

  • 问题内容: 我正在尝试设置一个docker- compose文件,该文件旨在用Supervisor替换运行多个进程(RQ worker,RQ仪表板和Flask应用程序)的单个Docker容器解决方案。 主机系统是Debian 8 Linux,我的样子如下(我删除了所有其他条目以减少错误源): “ rq-worker1”是Python RQ工作者,尝试通过本地主机和端口6379连接到Redis,但无

  • 问题内容: 我必须使用docker-compose设置一个mongo副本集。对于副本集,容器必须彼此了解。 我试过了 我收到一个循环导入消息。但是,如果删除到dbreplicasetpart1的反向链接,则无法从dbreplicasetpart2 ping到dbreplicasetpart1。解决办法是什么? 问题答案: 为Docker 1.10更新 Docker 1.10允许在compose文件

  • 我正在开发一个多容器的Docker应用程序,我想要一个容器使用Docker Compose向其他容器的API发出HTTP请求。我收到连接拒绝错误。 这两个容器都运行ASP.NET Core2.2。我使用的IDE是Visual Studio2017。我在用邮递员测试API调用。 DockerFiles Docker组合配置: 服务控制器操作: 卷曲 我还可以使用CURL来稳定与API RESTend

  • 问题内容: 我正在学习docker。我看到这两个词使我感到困惑。例如,这是一个docker-compose,它定义了两个服务和。 该文件定义了一个名为lognet的桥接网络,所有服务都将连接到该网络。据我了解,此操作使那些服务可以看到其他服务。那么在上述情况下,为什么应用程序服务仍需要链接到Redis服务。 谢谢 问题答案: 链接已被网络取代。Docker将它们描述为您应避免使用的旧功能。您可以安

  • 问题内容: 我已经在网上寻找了一段时间,但没有找到解决我的问题的解决方案,该解决方案与此问题类似,容器之间的DockerHTTP请求。但是这个答案已经是我在计算机上正在做的事情。我正在提供我的docker-compose文件 在我的Web容器中,我向或发出了http get请求,但是我没有看到该请求找到通往应用容器的方式。我在浏览器控制台中看到的是此错误消息。我不确定为什么http请求没有进入应用