docker 容器未通过端口连接
docker containers are not connecting through ports
我正在尝试 运行 两个容器:
A:
image: myImage:e2e
ports:
- "5100:80"
volumes:
- ../myui-sources/:/app
command: bash -c "npm run json-server" # this will run on port 5100 -- output: 'API started! listening to port!: 5100'
B:
build:
context: ../myui-sources/e2e/
dockerfile: ./Dockerfile # 'here im copying files and running a yarn install'
depends_on:
- A
volumes:
- ../myui-sources/:/app
ports:
- "4200:80"
command: bash -c "yarn e2e" # this will try to connect with container A, output: 'Error: connect ECONNREFUSED 127.0.0.1:5100'
4200端口的容器B需要与localhost:5100中的容器A进行交互,
我在每个容器上添加了端口,但没有结果,我做错了什么?,我需要更改什么?,我是 docker 的新手,提前谢谢你!
当我运行使用 yarn e2e 命令时,我有以下内容:
yarn run v1.22.5
[33mB_1 |[0m $ npx cucumber-js
[33mB_1 |[0m Failures:
[33mB_1 |[0m
[33mB_1 |[0m 1) Scenario: The contents of the root folder should be displayed in the Table View # test/features/poc.feature:11
[33mB_1 |[0m ✖ Before # test/hooks/api.hooks.ts:4
[33mB_1 |[0m Error: connect ECONNREFUSED 127.0.0.1:5100
同一网络上的容器通过使用服务名称作为主机名直接相互连接。 docker-compose
的默认设置是将所有服务添加到网络。
因此,要从 B
连接到 A
,您可以使用 A
作为主机名,然后是容器使用的实际端口,在您的例子中是 80
.所以 A:80
.
我正在尝试 运行 两个容器:
A:
image: myImage:e2e
ports:
- "5100:80"
volumes:
- ../myui-sources/:/app
command: bash -c "npm run json-server" # this will run on port 5100 -- output: 'API started! listening to port!: 5100'
B:
build:
context: ../myui-sources/e2e/
dockerfile: ./Dockerfile # 'here im copying files and running a yarn install'
depends_on:
- A
volumes:
- ../myui-sources/:/app
ports:
- "4200:80"
command: bash -c "yarn e2e" # this will try to connect with container A, output: 'Error: connect ECONNREFUSED 127.0.0.1:5100'
4200端口的容器B需要与localhost:5100中的容器A进行交互, 我在每个容器上添加了端口,但没有结果,我做错了什么?,我需要更改什么?,我是 docker 的新手,提前谢谢你!
当我运行使用 yarn e2e 命令时,我有以下内容:
yarn run v1.22.5
[33mB_1 |[0m $ npx cucumber-js
[33mB_1 |[0m Failures:
[33mB_1 |[0m
[33mB_1 |[0m 1) Scenario: The contents of the root folder should be displayed in the Table View # test/features/poc.feature:11
[33mB_1 |[0m ✖ Before # test/hooks/api.hooks.ts:4
[33mB_1 |[0m Error: connect ECONNREFUSED 127.0.0.1:5100
同一网络上的容器通过使用服务名称作为主机名直接相互连接。 docker-compose
的默认设置是将所有服务添加到网络。
因此,要从 B
连接到 A
,您可以使用 A
作为主机名,然后是容器使用的实际端口,在您的例子中是 80
.所以 A:80
.