李守中
该站已迁往根域名 https://lishouzhong.com
需要注意,迁移后的文章的 url 可能会发生变化。
域名 https://note.lishouzhong.com 下的内容将不再更新,但已有内容会永久保留。

Gogs 相关

Gogs 容器内的进程由 S6 管理,S6 会启动 syslogd, crond, openssh 以及 gogs 四个服务,并且这四个服务一定会启动。

而 Gogs 程序内部还有一个内建的 SSH server。

这会导致,如果用户也启用了内建的 SSH server 就会导致容器内有两个 SSH server: 一个是只监听容器内 22 端口的 openssh server;另一个是监听端口可以由用户指定的,Gogs 内建的 SSH server。

这两个 SSH 服务的端口对 docker-run 中 -p 参数的影响是:

Gogs 配置文件 app.ini 中 SSH_PORT 字段的值就是 Gogs 内建 SSH server 监听的端口,它还代表 WebUI 上显示的 SSH server 的端口。所以在使用 docker-run 的 -p <host-port>:<containre-port> 参数时,<host-port> 和 SSH_PORT 字段的值保持一致才能让 WebUI 也显示正确的端口。

前面提到了,openssh server 监听的端口不可被修改,所以,如果使用 docker run --network host 参数的话,容器内 openssh server 监听的端口可能与主机上 openssh server 监听的端口冲突,从而报错。



Last Update: 2023-12-04 Mon 11:24

Generated by: Emacs 28.2 (Org mode 9.5.5)   Contact: lsz.sino@outlook.com

若正文中无特殊说明,本站内容遵循: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议