【发布时间】:2021-06-15 02:42:28
【问题描述】:
我有一个可以自己工作的 dockerfile,与
docker build -t image_apache .
docker run -tid -p 5000:80 --name=container_apache image_apache
这可行,我可以使用 127.0.0.1:5000 连接到它的网络服务器
但是当我尝试创建一个 docker-compose.yml 文件以使用 docker-compose 构建和运行映像时,它似乎根本没有暴露端口。
这里是 docker-compose.yaml
version: '3'
services:
deploy_test:
ports:
- "8080:80"
build: .
working_dir: /tmp/artifacts
docker-compose 构建
docker-compose 运行 deploy_test
我的浏览器无法连接到 127.0.0.1:8080,并且容器中的 apache 日志没有显示任何尝试。
我只是对端口有错误的语法吗?它与在线样本相匹配。
【问题讨论】:
-
嗨,我认为问题在于使用
docker-compose run命令。请检查其文档以了解端口。此外,作为替代方案,您可以尝试docker-compose up -f test.yaml。然后尝试连接到您的端口。 -
谢谢。在命令行上添加相同的端口选项有效。在 yaml 和命令行中有端口选项似乎很奇怪。
-
是的,这很奇怪,但正如我所说,要克服它,您可以使用
up命令而不是run。 -
up 对我不起作用,但这是一个单独的问题。
-
您想在 docker-compose 命令行中添加 -p 8080:80 并链接docs.docker.com/compose/reference/run 吗?
标签: docker-compose