[英]Failed to connect service in another container by hostname with docker-compose
version: '3.7'
services:
translate:
restart: always
# Docker file here: https://github.com/mashirozx/google-translate-server/blob/master/Dockerfile
image: mashirozx/google-translate-server:latest
ports:
- "127.0.0.1:30031:30031"
command: "npm start -- --domain ${DOMAIN:-cn}"
networks:
- external_network
- internal_network
app:
image: app:dev
networks:
- external_network
- internal_network
depends_on:
- translate
links:
- "translate:translationserver"
在app
容器中,主机名translate
和translationserver
服务器都无法解析,我尝试使用服务器 public IP,http://public.IP:30031可在app
中访问。 所以问题是主机名没有在app
容器中解析。
同样的问题,但没有人解决我的问题:
links
已弃用,因为您不需要它来访问同一 docker.network 中的其他容器。
https://docs.docker.com/compose/compose-file/#links
尝试删除links
并在您的app
名称中使用translate
:docker 将解析内部 IP(docker vlan)以访问它。
version: '3.7'
services:
translate:
restart: always
# Docker file here: https://github.com/mashirozx/google-translate-server/blob/master/Dockerfile
image: mashirozx/google-translate-server:latest
container_name: translate
ports:
- "127.0.0.1:30031:30031"
command: "npm start -- --domain ${DOMAIN:-cn}"
networks:
- external_network
- internal_network
app:
image: app:dev
container_name: myapp
networks:
- external_network
- internal_network
depends_on:
- translate
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.