我使用的环境是Proxmox VE(PVE),你可以根据自己的情况变通;点击右上角,创建CT,使用Alpine模板,硬盘默认2G就足够,内存512MB即可。
使用命令lxc-attach vmid
进入容器,下载docker官方提供的镜像下载脚本,并安装依赖:
cd /opt
wget https://raw.githubusercontent.com/moby/moby/master/contrib/download-frozen-image-v2.sh
chmod +x download-frozen-image-v2.sh
apk add jq bash
]]>VPS
,就是此博客系统所在的机器,这台机器是有公网IP的Proxmox VE
虚拟了各种服务,其中包括Gitea
frp
转发暴露内网的Gitea
到公网HTTP
协议上传或者下载代码,现在觉得太麻烦想用SSH
协议如果你跟我的场景类型,此文很适合你,如果你是同一台机器上docker
和宿主机
之间22端口共享问题,文末官方文档更适合你。
本文也是参考了文末官方文档的实现,但是有部分不太一样。
]]>Ngrok 官方提供的服务器因为一些原因导致可用率不高, 但是他们开源了 1.x
版本的服务器端代码(目前最新是 1.7
), 这样就可以自己搭建了.
这个比较简单, 参考官方的文件就可以, 步骤无非就是: 拿到代码, 安装 go, 进行编译.
文档地址: https://github.com/inconshreveable/ngrok/blob/master/docs/DEVELOPMENT.md
编译完成后, 执行 ngrokd -h, 输出如下:
Usage of bin/ngrokd:
-domain="ngrok.com": Domain where the tunnels are hosted
-httpAddr=":80": Public address for HTTP connections, empty string to disable
-httpsAddr=":443": Public address listening for HTTPS connections, emptry string to disable
-log="stdout": Write log messages to this file. 'stdout' and 'none' have special meanings
-log-level="DEBUG": The level of messages to log. One of: DEBUG, INFO, WARNING, ERROR
-tlsCrt="": Path to a TLS certificate file
-tlsKey="": Path to a TLS key file
-tunnelAddr=":4443": Public address listening for ngrok client
参数比较简单, 指定域名, http 端口, 日志, ssl 证书, 隧道端口.
这里有个问题就是, 80, 443 已经让给 nginx 使用了, 虽然 ngrok 能指定到其它端口, 但是在客户端连接后:
一个是 https 识别错误, 一个是访问的时候加端口麻烦, 就算用 nginx 再次代理, 但是客户端显示的端口是没有变化的.
]]>