自己用的ngrok,内网穿透
Dockerfile文件 可以适当更改域名端口号更改使用
FROM ubuntu:16.04
# 安装环境
RUN apt-get update \
&& apt-get -y install build-essential golang mercurial git
# 下载 ngrok 源码并编译服务端
# 在里面同时加上域名
RUN git clone https://github.com/tutumcloud/ngrok.git /home/ngrok && cd /home/ngrok \
&& NGROK_DOMAIN="hong-ll.xyz" \
&& openssl genrsa -out base.key 2048 \
&& openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem \
&& openssl genrsa -out server.key 2048 \
&& openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr \
&& openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt \
&& cp base.pem assets/client/tls/ngrokroot.crt \
#开始编译,服务端客户端会基于证书来加密通讯,保证了安全性
&& make release-server release-client
# 如果一切正常,ngrok/bin 目录下应该有 ngrok、ngrokd 两个可执行文件,ngrokd 是服务端文件,ngrok 是 Linux 的客户端
# 安装各种客户端
RUN cd /home/ngrok \
&& GOOS=linux GOARCH=amd64 make release-server release-client \
&& GOOS=windows GOARCH=amd64 make release-server release-client \
&& GOOS=darwin GOARCH=amd64 make release-server release-client \
&& GOOS=linux GOARCH=arm make release-server release-client
WORKDIR /home/ngrok
EXPOSE 8080
CMD bash ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="hong-ll.xyz" -httpAddr=":8080"
可以使用docker-compose.yml创建
ngrok:
image: 'liuhonglei/ngrok:1.0'
container_name: ngrok:1.0
restart: always
ports:
- '8080:8080'
- '4443:4443'
volumes:
- '/home/ngrok/bin:/home/ngrok/bin'
也可以直接使用命令
docker run -d --name ngrok -p 8080:8080 -p 4443:4443 -v /home/ngrok/bin:/home/ubuntu/ngrok/bin liuhonglei/ngrok:1.0
Content type
Image
Digest
Size
294.4 MB
Last updated
about 9 years ago
docker pull liuhonglei/ngrok:1.0