[GH-ISSUE #206] 建议增加官方的Docker镜像还能自动构建 #129

Closed
opened 2026-02-27 23:15:34 +03:00 by kerem · 6 comments
Owner

Originally created by @pkptzx on GitHub (Dec 31, 2018).
Original GitHub issue: https://github.com/snail007/goproxy/issues/206

1.docker.com注册.
2.创建仓库或组织.选择公开,绑定github账号.
3.点builds - Configure Automated Builds
4.选择你的goproxy.
5.点击BUILD RULES后面的加号
在规则中这么写:
image

最后save and build

大功告成.
当你提交代码的时候会自动构建版本是latest的镜像.
当你提交tag的时候会自动构建tag版本的镜像.

Originally created by @pkptzx on GitHub (Dec 31, 2018). Original GitHub issue: https://github.com/snail007/goproxy/issues/206 1.docker.com注册. 2.创建仓库或组织.选择公开,绑定github账号. 3.点builds - Configure Automated Builds 4.选择你的goproxy. 5.点击BUILD RULES后面的加号 在规则中这么写: ![image](https://user-images.githubusercontent.com/4339676/50561167-16eb4c80-0d43-11e9-90fb-a18a1b55cbc1.png) 最后save and build 大功告成. 当你提交代码的时候会自动构建版本是latest的镜像. 当你提交tag的时候会自动构建tag版本的镜像.
kerem 2026-02-27 23:15:34 +03:00
Author
Owner

@pkptzx commented on GitHub (Dec 31, 2018):

其他说明:
latest在创建时可以触发
由于6.8的tag已经发布过了所以自动构建不会触发,但你可以手动push.或github上新创建一个6.8.1的版本也行
下面是手动提交镜像的大致流程[如果不会就算了吧]:
注: <goproxy> 表示 仓库名或组织名,到时候改成你的,不要尖括号<>符号
docker login
#根据提示输入用户名密码
docker tag 本地镜像全称 <goproxy>/goproxy:6.8
docker push <goproxy>/goproxy:6.8

用户说明:
拉取镜像:
docker pull <goproxy>/goproxy:6.8
运行镜像:
docker run -d --name goproxy -p 80:80 -p 443:443 <goproxy>/goproxy:6.8
(根据现在Dockerfile写的)默认是http代理开启80/443端口

一个牛逼的示例:
场景:
国外有很多linux或其他教学的网站,可以免费使用几个小时或几天[到时了只是关闭系统,你只需要再点下启动]学习linux或其他相应的课程,这个初始化的系统配置很不错,而且网速真的快的一逼.但没有外网ip和端口.也就是个内网.
so,我们需要一台自己的VPS,自己的电脑.
根据goproxy的文档可知流程为:
国外内网执行: goproxy http+goproxy client
VPS执行: goproxy bridge+goproxy server
本机执行: goproxy http代理

注意:以下示例的仓库如果没有goproxy:6.8的版本,可以暂时使用 https://hub.docker.com/r/pkptzx/goproxy 这个仓库
首先创建公钥私钥,操作略...
下面上命令:
国外内网:
docker run --name goproxy_http -d -v `pwd`/cert:/usr/local/bin/cert -p 9002:9002 goproxy/goproxy:6.8 /usr/local/bin/proxy http -t tls -p ":9002" -C /usr/local/bin/cert/proxy.crt -K /usr/local/bin/cert/proxy.key

docker run --name goproxy_client -d --link goproxy_http -v `pwd`/cert:/usr/local/bin/cert -p 9000:9000 goproxy/goproxy:6.8 /usr/local/bin/proxy client -P "vps的ip:9000" -C /usr/local/bin/cert/proxy.crt -K /usr/local/bin/cert/proxy.key

VPS:
docker run --name goproxy_bridge -d -v `pwd`/cert:/usr/local/bin/cert -p 9000:9000 goproxy/goproxy:6.8 /usr/local/bin/proxy bridge -p ":9000" -C /usr/local/bin/cert/proxy.crt -K /usr/local/bin/cert/proxy.key

docker run --name goproxy_server -d --link goproxy_bridge -v `pwd`/cert:/usr/local/bin/cert -p 9001:9001 goproxy/goproxy:6.8 /usr/local/bin/proxy server -r ":9001@goproxy_http:9002" -P "goproxy_bridge:9000" -C /usr/local/bin/cert/proxy.crt -K /usr/local/bin/cert/proxy.key

本机:
proxy.exe http -t tcp -p ":9001" -T tls -P "vps的ip:9001" -C proxy.crt -K proxy.key

<!-- gh-comment-id:450649692 --> @pkptzx commented on GitHub (Dec 31, 2018): 其他说明: latest在创建时可以触发 由于6.8的tag已经发布过了所以自动构建不会触发,但你可以手动push.或github上新创建一个6.8.1的版本也行 下面是手动提交镜像的大致流程[如果不会就算了吧]: 注: `<goproxy>` 表示 仓库名或组织名,到时候改成你的,不要尖括号<>符号 `docker login` `#根据提示输入用户名密码` `docker tag 本地镜像全称 <goproxy>/goproxy:6.8` `docker push <goproxy>/goproxy:6.8` 用户说明: 拉取镜像: `docker pull <goproxy>/goproxy:6.8` 运行镜像: `docker run -d --name goproxy -p 80:80 -p 443:443 <goproxy>/goproxy:6.8 ` (根据现在Dockerfile写的)默认是http代理开启80/443端口 一个牛逼的示例: 场景: 国外有很多linux或其他教学的网站,可以免费使用几个小时或几天[到时了只是关闭系统,你只需要再点下启动]学习linux或其他相应的课程,这个初始化的系统配置很不错,而且网速真的快的一逼.但没有外网ip和端口.也就是个内网. so,我们需要一台自己的VPS,自己的电脑. 根据goproxy的文档可知流程为: 国外内网执行: goproxy http+goproxy client VPS执行: goproxy bridge+goproxy server 本机执行: goproxy http代理 注意:以下示例的仓库如果没有goproxy:6.8的版本,可以暂时使用 https://hub.docker.com/r/pkptzx/goproxy 这个仓库 首先创建公钥私钥,操作略... 下面上命令: 国外内网: ```docker run --name goproxy_http -d -v `pwd`/cert:/usr/local/bin/cert -p 9002:9002 goproxy/goproxy:6.8 /usr/local/bin/proxy http -t tls -p ":9002" -C /usr/local/bin/cert/proxy.crt -K /usr/local/bin/cert/proxy.key``` ```docker run --name goproxy_client -d --link goproxy_http -v `pwd`/cert:/usr/local/bin/cert -p 9000:9000 goproxy/goproxy:6.8 /usr/local/bin/proxy client -P "vps的ip:9000" -C /usr/local/bin/cert/proxy.crt -K /usr/local/bin/cert/proxy.key``` VPS: ```docker run --name goproxy_bridge -d -v `pwd`/cert:/usr/local/bin/cert -p 9000:9000 goproxy/goproxy:6.8 /usr/local/bin/proxy bridge -p ":9000" -C /usr/local/bin/cert/proxy.crt -K /usr/local/bin/cert/proxy.key``` ```docker run --name goproxy_server -d --link goproxy_bridge -v `pwd`/cert:/usr/local/bin/cert -p 9001:9001 goproxy/goproxy:6.8 /usr/local/bin/proxy server -r ":9001@goproxy_http:9002" -P "goproxy_bridge:9000" -C /usr/local/bin/cert/proxy.crt -K /usr/local/bin/cert/proxy.key``` 本机: `proxy.exe http -t tcp -p ":9001" -T tls -P "vps的ip:9001" -C proxy.crt -K proxy.key`
Author
Owner

@pkptzx commented on GitHub (Dec 31, 2018):

后面有空了我改下上回那个人提交的Dockerfile...他写的有点不方便,没有切换默认目录.

<!-- gh-comment-id:450651907 --> @pkptzx commented on GitHub (Dec 31, 2018): 后面有空了我改下上回那个人提交的Dockerfile...他写的有点不方便,没有切换默认目录.
Author
Owner

@snail007 commented on GitHub (Jan 2, 2019):

added at : https://hub.docker.com/r/snail007/goproxy

<!-- gh-comment-id:450794751 --> @snail007 commented on GitHub (Jan 2, 2019): added at : https://hub.docker.com/r/snail007/goproxy
Author
Owner

@X1aSheng commented on GitHub (Jan 22, 2019):

很nice啊!

<!-- gh-comment-id:456302929 --> @X1aSheng commented on GitHub (Jan 22, 2019): 很nice啊!
Author
Owner

@hktalent commented on GitHub (Jan 23, 2019):

@pkptzx @snail007 @1XiaSheng @foxdalas @admpub
@see https://github.com/fatedier/frp/issues/1056

<!-- gh-comment-id:456692910 --> @hktalent commented on GitHub (Jan 23, 2019): @pkptzx @snail007 @1XiaSheng @foxdalas @admpub @see https://github.com/fatedier/frp/issues/1056
Author
Owner

@UrielCh commented on GitHub (Apr 14, 2019):

感谢您的 Docker 建议。

我推了一个小的 urielch/snail007-goproxy

FROM pkptzx/goproxy AS builder
RUN ls /usr/local/bin/proxy

FROM scratch
COPY --from=builder /usr/local/bin/proxy /
ENTRYPOINT [ "/proxy" ]
<!-- gh-comment-id:482925943 --> @UrielCh commented on GitHub (Apr 14, 2019): 感谢您的 Docker 建议。 我推了一个小的 urielch/snail007-goproxy ```Dockerfile FROM pkptzx/goproxy AS builder RUN ls /usr/local/bin/proxy FROM scratch COPY --from=builder /usr/local/bin/proxy / ENTRYPOINT [ "/proxy" ] ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/goproxy#129
No description provided.