我正在尝试发布一个简单的Docker容器的2个端口以进行一些测试。

下面是重现此问题的步骤。

我的简单Dockerfile:

FROM bash:4
RUN echo ok

使用docker build . -t essai构建

我的第一个docker-compose.yml文件版本,该版本有效:
version: '3'
services:
  essai:
    image: essai
    ports:
      - 25432:5432

但是当我尝试像这样发布第二个端口时:
version: '3'
services:
  essai:
    image: essai
    ports:
      - 25022:22
      - 25432:5432

我收到此奇怪的错误消息:



它在哪里找到1501342端口?

有趣的是,当我这样编写docker-compose时:
version: '3'
services:
  essai:
    image: essai
    ports:
      - "25022:22"
      - 25432:5432

有用。

这些双引号和无处不在的端口号的神奇之处是什么?

最佳答案

根据docker documentation,指定端口映射的推荐方法是特别是在容器端口小于60时声明字符串。

关于docker-compose:发布多个端口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51056854/

10-17 00:55