如何curl http://barfoo:8002在不更改 docker 文件的情况下从 foobar-container 开始工作?
我有以下撰写文件:
version: '3'
services:
foobar:
build:
context: ./foobar
ports:
- 8001:80
depends_on:
- barfoo
barfoo:
build:
context: ./barfoo
ports:
- 8002:80
Run Code Online (Sandbox Code Playgroud)
我将以下内容添加到我计算机上的主机文件中
127.0.0.1 foobar
127.0.0.1 barfoo
Run Code Online (Sandbox Code Playgroud)
现在我用docker-compose up.
当我在终端上执行以下操作时,这在逻辑上可以正常工作,没有任何问题: curl http://barfoo:8002
当我从 foobar 容器 ( docker-compose exec foobar /bin/bash) 中的 Bash 执行相同操作时Failed to connect to barfoo port 8002: Connection refused,如果我使用curl http://barfoo:80它,我会得到。
原因是我想模拟类似生产的情况,在生产中不需要端口,因为它们使用不同的主机名并且都可以直接使用端口 80