Docker 安装 gogs,ssh 方式 clone 超时


#1

报错如下:

λ git clone ssh://git@gogs.yasking.org:10022/yieldone/test-pub.git
Cloning into 'test-pub'...
ssh: connect to host gogs.yasking.org port 10022: Connection timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我的配置文件如下:

[database]
DB_TYPE  = sqlite3
HOST     = 127.0.0.1:3306
NAME     = gogs
USER     = root
PASSWD   = 
SSL_MODE = disable
PATH     = data/gogs.db

[repository]
ROOT = /data/git/gogs-repositories

[server]
DOMAIN           = https://gogs.yasking.org
HTTP_PORT        = 3000
ROOT_URL         = https://gogs.yasking.org/
DISABLE_SSH      = false
SSH_DOMAIN       = gogs.yasking.org
SSH_PORT         = 10022
SSH_ROOT_PATH    = /home/git/.ssh
START_SSH_SERVER = false
OFFLINE_MODE     = false

docker启动使用的是 https://github.com/gogs/gogs/tree/master/docker 里默认方式及参数

我使用Nginx添加了SSL支持,https方式clone/push是可以用的。

现在没有什么头绪,不知道从哪里着手排错


#2

超时就是10022 根本没路由到 docker 呗。。


#3

我使用端口扫描工具发现服务器A没有在监听10022端口,我用其它服务器B安装了docker-gogs,没有绑定域名,使用ssh没有报错

然后我删除了出问题机器上的容器以及/var/gogs/*文件夹,重新启动运行了容器。安装的时候“域名”处填写的是ip地址,没有使用域名,现在ssh的克隆地址为 ssh://git@23.105.211.154:10022/yieldone/test-pub.git

还是有超时的问题,就像你说的,10022没有路由到docker,但我不知道为什么会这样,怎么去解决

docker ps 看两台服务器的以下输出看起来没什么不同,是绑定了10022端口的。

e6fbd30902e1        gogs/gogs           "/app/gogs/docker/st…"   About an hour ago   Up About an hour    0.0.0.0:10022->22/tcp, 0.0.0.0:10080->3000/tcp   gogs

[root@host ~]# ps -aux | grep 10022
root 31870 0.0 0.7 100808 3792 ? Sl 21:44 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 10022 -container-ip 172.17.0.2 -container-port 22


#4

被自己蠢哭了,之前使用服务器顺手iptables -F , setenforce 0

重启了vps可以ssh连接了,多谢