标签 docker容器 下的文章

简介

AutoCFT(Automate Cloudflare Tunnel)是一个简化 Cloudflare Tunnels 配置和运维的开源工具,适合 Self-hosted 的 Docker 环境,主要提供配置自动化更新,避免频繁登录 Zero Trust Dashboard 进行更新;通过 Docker 或 Docker compose 部署,便于管理;采用 Go 实现,轻量化结构;中英文文档完整。

项目地址:GitHub - cloudfogtech/autocft: A tool for Docker Compose to automatically update access endpoints to Cloudflare Tunnel.

官方文档:https://autocft.cloudfogtech.ltd/

部署与使用

要使用 AutoCFT,基本上默认已经有 Docker 环境了,下面的教程将直接基于 Docker 环境开始。

AutoCFT 部署

services: autocft:  cloudfogtech/autocft:latest container_name: autocft restart: always environment: - AUTOCFT_CF_API_TOKEN=<AUTOCFT_CF_API_TOKEN> - AUTOCFT_CF_ACCOUNT_ID=<AUTOCFT_CF_ACCOUNT_ID> - AUTOCFT_CF_TUNNEL_ID=<AUTOCFT_CF_TUNNEL_ID> volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /root/data/autocft:/app/data networks: - test_net networks: test_net: external: true 

必填参数获取指南:https://autocft.cloudfogtech.ltd/zh/cloudflare.html

Cloudflared 部署

宿主机部署

如果 Cloudflared 在宿主机部署,则需要为每个应用增加端口映射。auto.service 设置为从宿主机访问的地址。

容器部署

services: cloudflared:  cloudflare/cloudflared:2025.11.1 container_name: cloudflared restart: always command: tunnel run environment: - TUNNEL_TOKEN=<TUNNEL_TOKEN> networks: - test_net networks: test_net: external: true 

容器部署的情况下,所有容器应该处于同一网络,因此不需要端口映射到宿主机,直接通过 Docker 网络访问。

示例应用

下面将部署示例应用展示应用如何和 AutoCFT 结合使用

普通应用

services: nginx:  nginx container_name: nginx restart: always # 宿主机部署Cloudflared需要开启端口映射 # ports: #   - "80:80" volumes: - /etc/ssl/certs:/etc/ssl/certs:ro labels: - autocft.enabled=true - autocft.hostname=nginx.example.com - autocft.service=http://nginx:80 # 宿主机访问地址为本地方位映射的端口 # - autocft.service=http://localhost:80 networks: - test_net networks: test_net: external: true 

HTTPS 应用

services: nginx:  nginx container_name: nginx restart: always # 宿主机部署Cloudflared需要开启端口映射 # ports: #   - "443:443" volumes: - /etc/ssl/certs:/etc/ssl/certs:ro labels: - autocft.enabled=true - autocft.hostname=nginx.example.com - autocft.service=https://nginx:443 # 宿主机访问地址为本地方位映射的端口 # - autocft.service=https://localhost:443 - autocft.origin.origin-server-name=nginx.example.com # 如需忽略TLS证书验证,请设置下面的值 - autocft.origin.no-tls-verify=true networks: - test_net networks: test_net: external: true 

应用部署后,默认配置的情况下大约 10s 后,配置将同步到 Tunnel,就可以访问了。

问题与反馈

两种方式供君挑选

  • 跟帖反馈
  • 通过 Github Issue 反馈


这算是我首次成体系的一个开源项目,在 2025 年末给大家一个更便于使用的工具,也给我自己做一个 2025 年的总结。

感谢始皇和 linux.do 平台的各位佬提供的各种教程、公益资源和这个交流的平台,缘分让我们聚在一起。

真诚友善团结专业 ,共建你我引以为荣之社区。

预祝 2026 的各位佬事业步步高升,生活顺心如意~linux.do 做大做强,再创辉煌~

新年快乐


📌 转载信息
原作者:
catfishlty
转载时间:
2025/12/31 17:14:05

之前用 watchtower 发现必须要:ladder:才能检查镜像,对于国内机器太不友好了。于是我自己搞了个轻量版的,配好 Docker 的镜像加速源就能直接用了。

[bsgit user="naomi233"]watchducker[/bsgit]
一个用 Go 语言编写的 Docker 容器镜像更新检查和自动更新工具

  • 智能检查: 自动检测容器使用的镜像是否有新版本可用
  • 标签驱动: 通过 watchducker.update=true 标签自动管理需要更新的容器
  • 定时执行: 支持使用 cron 表达式进行定时检查
  • 自动更新: 检测到更新后可自动重启容器使用新镜像
  • 灵活控制: 提供只检查不重启的选项
  • 实时反馈: 检查过程中提供实时进度和结果输出
  • Docker 原生: 完全基于 Docker API,无需额外依赖
  • 无需代理: 复用现有 Docker 配置,无需额外配置认证和代理、加速镜像源

示例

# 检查指定容器
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock naomi233/watchducker:latest watchducker nginx redis mysql
# 检查所有带有更新标签的容器
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock naomi233/watchducker:latest watchducker --label
# 只更新镜像,不重启容器
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock naomi233/watchducker:latest watchducker --no-restart nginx redis
# 使用标签模式,同时防止自动重启
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock naomi233/watchducker:latest watchducker --label --no-restart
# 每天凌晨2点检查所有标签容器
docker run --name watchducker -v /var/run/docker.sock:/var/run/docker.sock naomi233/watchducker:latest watchducker --cron "0 2 * * *" --label
# 每30分钟检查指定容器
docker run --name watchducker -v /var/run/docker.sock:/var/run/docker.sock naomi233/watchducker:latest watchducker --cron "*/30 * * * *" nginx redis
# 每天执行,只检查不重启
docker run --name watchducker -v /var/run/docker.sock:/var/run/docker.sock naomi233/watchducker:latest watchducker --cron "@daily" --no-restart nginx

Docker compose yaml 示例

services:
  watchducker:
    image: naomi233/watchducker
    container_name: watchducker
    network_mode: bridge
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - TZ=Asia/Shanghai
      - WATCHDUCKER_LOG_LEVEL=DEBUG
      - WATCHDUCKER_CRON=0 2 * * *
      - WATCHDUCKER_LABEL=true

最新文件快递柜系统网站源码支持匿名口令分享 、临时文件分享等功能,小巧简便,非常不错!!!这是我新发现的一款超实用的文件快递柜—FileCodeBox!
很多时候,我们都想将某个文件或文本传送给别人,或者跨端传递一些信息,但是我们又不想为了分享,而去下载一些七里八里的软件或者是被限制速度,这时候,我们就可以使用口令传送箱,像拿快递一样取文件。我们也可以用这个源码制作成文件提取系统、公司内网数据分享管理系统等等场景!

主要特色:

轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI架构;
轻松上传:复制粘贴,拖拽选择,操作形象;
多种类型:文本,文件、图片等形式;
防止爆破:错误次数限制功能;
防止滥用:IP限制上传次数;
口令分享:随机口令,存取文件,自定义次数以及有效期;
匿名分享:无需注册,无需登录;
管理面板:查看所有文件,删除文件;一键部署:docker一键部署;
OSS拓展:阿里云OSS、本地文件流,可根据需求在storage文件中新增存储引擎;

搭建教程:

1.docker注册表搜索 「lanol/filecodebox」 直接下载,如下图:
 最新的文件快递柜网站源码支持匿名口令分享 ,临时文件分享,小巧简单
2.下载之后咱们先在docker文件夹中创建一个新文件夹,命名就为 「filecodebox」 就行,如下图:
 最新的文件快递柜网站源码支持匿名口令分享 ,临时文件分享,小巧简单1
3.随后容器设置中将 「filecodebox」 文件夹映射路径设置为 「/app/data」 。本地端口设置随意,不冲突即可,如下图:
 最新的文件快递柜网站源码支持匿名口令分享 ,临时文件分享,小巧简单2
4.启动容器,浏览器访问http:NASIP+端口号即可访问。
体验
首次启动后会在日志中生成后台地址以及后台密码,记得及时更改。
 最新的文件快递柜网站源码支持匿名口令分享 ,临时文件分享,小巧简单3
5.其次在项目文件夹中的.env会显示配置信息,也可以直接下载文件修改后上传,记得修改配置后重启容器。
 最新的文件快递柜网站源码支持匿名口令分享 ,临时文件分享,小巧简单4