问题背景
使用docker-compose搭建基于gogs+MySQL的个人git仓库,在映射2222:22
端口的时候,报如下错误:
ERROR: for gogs Cannot create container for service gogs: invalid port specification:
其中docker-compose.yml
部分配置如下:
services:
gogs:
ports:
- 9122:22
- 9180:3000
问题原因
YAML 支持所谓的“以60为底的浮点数”,对时间计算很有用。因此2222:22
被解释为2222 * 60 + 22
,即133342。如果port包含大于60的数字,例如3306:3306
或8080:80
,就没有问题,因此不会总是发生此问题,从而使其隐蔽。
问题解决
使用双引号即可,修改后docker-compose.yml
配置如下:
services:
gogs:
ports:
- "9122:22"
- 9180:3000
评论