周五的时候写了一篇解决 vps 被 openai 封 ip 的文章,看到大家很多反馈。因此如期给大家把 dockerfile 的坑排完了。
接续上篇将的近期 chatgpt 访问困难的问题,上篇是基于 ubuntu 的本地安装。使用起来还是不够快速舒服,并且假如使用的是老版的 centos7 还要切换操作系统,不方便,因此花了一点时间将 warp 的 proxy 封装成了 docker ,满足一键启动的需求,方便大家一把梭。完全基于官方文档进行部署,没有任何的坏东西再里面,大家放心搞。
Dockerfile 详解:
FROM ubuntu:22.10 LABEL mantainer="galtjay[email protected]" #下边这一行主要是完成 supervisor 和 cloudflare-warp 的安装 RUN apt update && apt install -y curl gpg supervisor && curl https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg && echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ jammy main" | tee /etc/apt/sources.list.d/cloudflare-client.list && apt update && apt install cloudflare-warp -y && apt-get clean #生成 supervisor 守护配置文件,原本的 warp-svc 基于 systemd 进行管理,docker 内部不太好实现,切换成 supervisor 进行守护。 RUN echo "[program:warp-svc]\ncommand=/bin/bash -c /usr/bin/warp-svc\nautostart=true\nautorestart=true\nstartretries=3\nstderr_logfile=/var/log/warp.log\nstdout_logfile=/var/log/warp.log\n" > /etc/supervisor/conf.d/warp.conf #生成 docker 启动脚本,输出日志到控制台。每次启动会自动的完成注册,切换模式。假如各位需要嵌入现有的 license ,此处自行修改。主要修改 warp-cli --accept-tos register 这条。 RUN echo "supervisord\nsleep 5\nwarp-cli --accept-tos register\nwarp-cli --accept-tos set-mode proxy\nwarp-cli --accept-tos connect\ntail -f /var/log/warp.log\n" > /init.sh && chmod +x /init.sh #默认暴露 40000 端口 EXPOSE "40000/tcp" CMD ["bash","-c","/init.sh"]
打包好的镜像地址,以及完整说明的文章,点击: