docker-compose:发布多个端口

时间:2018-06-27 07:25:46

标签: docker docker-compose

我正在尝试发布一个简单的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

我收到一条奇怪的错误消息:

  

$ docker-compose up使用以下命令创建网络“ sandbox_default”   默认驱动程序创建sandbox_essai_1 ...创建sandbox_essai_1   ...错误

     

错误:对于sandbox_essai_1无法为服务essai创建容器:   无效的端口规范:“ 1501342”

     

错误:用于essai不能为服务essai创建容器:无效   端口规范:“ 1501342”错误:携带时遇到错误   项目。

它在哪里找到端口1501342

有趣的是,当我这样编写docker-compose时:

version: '3'
services:
  essai:
    image: essai 
    ports:
      - "25022:22"
      - 25432:5432

有效。

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

1 个答案:

答案 0 :(得分:2)

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