我正在尝试发布一个简单的 docker 容器的 2 个端口来进行一些测试。
以下是重现该问题的步骤。
我的简单 Dockerfile:
FROM bash:4
RUN echo ok
Run Code Online (Sandbox Code Playgroud)
建造使用 docker build . -t essai
我的 docker-compose.yml 文件的第一个版本,这个有效:
version: '3'
services:
essai:
image: essai
ports:
- 25432:5432
Run Code Online (Sandbox Code Playgroud)
但是当我尝试像这样发布第二个端口时:
version: '3'
services:
essai:
image: essai
ports:
- 25022:22
- 25432:5432
Run Code Online (Sandbox Code Playgroud)
我收到这个奇怪的错误信息:
$ 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
Run Code Online (Sandbox Code Playgroud)
有用。
这些双引号和突然冒出来的端口号有什么神奇之处?