trueNas 24.10 docker配置文件daemon.json无法修改(重启被覆盖)解决方案

前言

最近听说truenas的24.10版本开放docker容器解决方案放弃了原来难用的k3s,感觉非常巴适,就研究了一下,首先遇到无法迁移老系统应用问题比较好解决,使用sudo登录ssh临时修改daemon.json重启docker后进行docker start 容器即可,但是遇到一个比较麻烦的事情就是docker镜像无法配置(拉取容器或者部署官方应用都一直报docker.io/v2错误),即使配置成功后重启配置会被覆盖成默认,找了很多解决方案,看到几年前有个大佬说修改docker.service,尝试了一下发现truenas的system目录直接是只读的,root权限进去也改不了,非常无奈,折腾了很久才得到解决。

摸索

找了很多资料,包括truenas官方的社区也进去搜索 了一番,有人提出类似问题,当好像并没有人解决掉这个问题,修改service的方案也破灭后后面灵光闪,额我能否通过计划任务的方式去实现这个功能呢,比如每天凌晨执行一下停止服务器(当然自己手动重启truenas时还是需要登录truenas点一下计划任务运行,这个没有好办法,本来想在开机启动时执行这个脚本实现全自动的但是我这里好像不行,兄弟们可以自己尝试一下看)修改daemon.json然后再启动起来包括容器,说干就干,于是我写了一个start.sh文件放到存储池中,然后通过计划任务运行,计划任务又遇到一个问题,就是直接执行sh文件该进程会被kill掉,经过多番尝试,需要再命令前面添加sh命令,比如 bash start.sh至此问题解决,下面我把我的sh文件分享出来供大家参考

截图


点击上面的执行按钮等待容器全部跑起来后再执行docker pull已经不报docker.io/v2错误了

start.sh

shell 复制代码
#为了解决act_runner 无法pulldocker镜像问题
#将文件放到truenas中
# 计划任务 凌晨执行 bash /mnt/nas/edison/project/start.sh

#systemctl stop docker.socket
sudo service docker stop
sudo echo '{"data-root": "/mnt/.ix-apps/docker", "exec-opts": ["native.cgroupdriver=cgroupfs"], "iptables": true, "storage-driver": "overlay2", "default-address-pools": [{"base": "172.17.0.0/12", "size": 24}],"registry-mirrors": ["https://docker.1ms.run"]}' > /etc/docker/daemon.json
#systemctl start docker 
sudo service docker start 
sudo docker start $(docker ps -aq) 
相关推荐
对象存储与RustFS12 小时前
网盘限速逼你开会员?用 RustFS 自己搭一个不限速的“私人网盘
服务器·后端·docker
程序员老赵15 小时前
Docker 部署 Filestash:轻松搭建浏览器文件管理平台
前端·docker·开源
艾伦_耶格宇15 小时前
【DOCKER容器实战】-5 Docker容器镜像的构建
运维·docker·容器
程序员小孔.18 小时前
基于 SpringBoot + UniApp + Vue 的家政服务系统设计与实现
前端·数据库·spring boot·python·docker·微信小程序
我不会起名字3221 天前
Redis 从 0 到 1(九):主库宕机 30 秒自动切主——1 主 2 从 3 哨兵 + Go 客户端
redis·docker·sentinel·高可用·哨兵
姜鱼问生1 天前
每次开机手动检查 6 样东西?我写了个 2 秒自检脚本
运维·网络·nginx·docker·容器
wangqiaowq1 天前
PostgresSQL server Docker 安装部署
运维·docker·容器
程序员阿明1 天前
docker搭建视频流服务go2rtc,webRTC
docker·容器·webrtc
TTATTC1 天前
让 16 个 AI 员工在飞书群自我协同:基于 OpenClaw 的多 Agent 敏捷 Squad 拓扑与一人公司实操
docker·开源
TTATTC1 天前
从分片续传到 SPI 插件化扩展:Free-FS 企业级文件系统核心架构与万能预览技术拆解
docker·开源