如何从docker-compose创建的docker容器内部连接到本地计算机?

肚flop

我有一个使用docker-compose创建的Docker容器。这是yml文件。

version: "3"
services:
  redis:
    image: "redis"
  web:
    image: "myimage"
    ports:
      - "8000:8000"
    environment:
      REDIS_HOST: redis
    volumes:
      - .:/usr/src/app
    depends_on:
      - "redis"
    command: ["npm", "start"]

我的Web应用程序需要从此容器连接到本地计算机,因为我的本地计算机正在运行Docker容器的Web应用程序需要访问的另一个Web应用程序。我该怎么做呢?本地主机的web应用程序托管在其他端口(7777)上。

我已经从Docker容器内部看到了如何连接到计算机的本地主机?,并且使用“ extra_hosts”选项可以使它正常工作,但是我想知道是否还有另一种方法?

men门

Docker compose只是一个用于启动多个Docker容器的实用程序。因此,对于以开头的容器,几乎所有适用于启动的条件docker run都相同docker-compose

特别是,由于您使用的是MAC,因此在容器内有一个解析为主机的特殊DNS名称。

根据使用的docker版本,DNS可能会略有不同。

对于Docker 18.03及更高版本,您可以使用 host.docker.internal

对于Docker 17.06及以上版本使用 docker.for.mac.host.internal

低于17.06使用 docker.for.mac.localhost

因此,您可以使用以下方式连接到计算机上的Web应用程序: <dns-name>:7777

更新:

为避免对代码中的值进行硬编码,请将此DNS名称作为env变量传递给容器。

environment:
    REDIS_HOST: redis
    WEB_APP: host.docker.internal

在应用程序内,获取WEB_APP环境变量并使用它进行连接

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从Docker容器内部连接到计算机的本地主机?

如何从Windows计算机中的Docker容器内部连接到localhost上的MySQL服务器?

如何连接到远程计算机上的docker mysql容器

使用host.docker.internal从Docker连接到本地计算机(主机)中的SQL Server

如何连接到在本地计算机上的容器中运行的MySQL实例?

无法从在docker中运行的Kafkacat连接到在Windows计算机上本地运行的Kafka代理

从Docker容器读取本地计算机上的文件

如何从本地计算机连接到heroku pg?

如何将KVM从本地计算机传递到Docker容器?

如何将本地计算机的SSH密钥传递给Docker容器?

连接到本地docker-compose容器Windows 10

无法从同一台计算机上的Docker容器连接到Azure存储模拟器

无法从本地计算机连接到在服务器上运行的mysql docker(错误10061)-Workbench

如何从Docker容器获取远程计算机的MAC地址

如何从独立容器连接到Docker Compose容器

如何从我的VM boot2docker容器内部连接到“真实”本地主机?

Docker卷映射:文件未从Docker linux容器复制到本地Windows计算机

Docker-compose:如何连接到mongo容器

如何从本地Kubernetes连接到本地计算机上的数据库

如何从Docker容器连接到本地Redis服务器

如何在Docker容器内的本地计算机上运行的MySQL服务器用于DropWizard应用程序?

如何使用docker-compose而不是使用docker bridge从docker容器连接到localhost:9092

docker-compose 并连接到 Mongo 容器

将本地计算机docker-compose移至GKE,用于持久化卷的GCP服务?

如何查找其他哪些计算机连接到本地网络

如何将PySpark(本地计算机)连接到我的EMR群集?

如何使用公共和本地IP连接到远程计算机?

无法连接到Docker容器内部的postgresql

如何在docker-compose中将卷连接到docker容器