【发布时间】:2018-02-22 13:35:32
【问题描述】:
你能解释一下与 Docker 容器端口有关的一件事吗?
场景: 我创建了一个新的 Dockerfile 和 docker-compose.yml 文件 (https://github.com/fdolsky321/Jenkins_Docker),我使用了 EXPOSE 49005,并将 docker-compose.yml 中的两个端口都配置为 49005。(docker-compose 中的音量设置是否正确? 我使用的是 Windows 10 专业版)。
然后我只是构建并推送它,最后,我使用了 docker-compose up... 但是后来我看到,仍然有默认端口 8080 和 50000,你能解释一下,怎么可能,那里是否仍在使用这些我不想使用的端口?
然后我正在尝试运行此映像,但我无法在任何端口(8080、50000、49005)上打开 jenkins。当我使用 docker run 命令时,它运行良好,但我想使用 docker-compose.yml 文件中使用的端口。
您能否提供任何建议,端口如何在 docker 中工作?
【问题讨论】:
-
不要在 dockerfile 中公开它,删除该层。在 docker-compose.yml 中,只需执行
49005:8080。在您的 yaml 文件中尝试使用 ports 服务。
标签: docker jenkins docker-compose dockerfile ports