3.4 KiB
title, date, tags, rating, excerpt, created, updated
| title | date | tags | rating | excerpt | created | updated | |
|---|---|---|---|---|---|---|---|
| 🐈日志<% tp.file.title %> | <% tp.date.now("YYYY-MM-DD HH:mm:ss") %> |
|
⭐️ | 2025-08-30T11:45 | 2025-10-24T19:29 |
1TODO
- 多喝水,避免久坐不动
- 今天做什么
2 Tracking
- 制作小苹果相册
- 解决WatchTower使用默认镜像源更新Docker的问题 https://club.fnnas.com/forum.php?mod=viewthread&tid=8440#authorposton93494 教程: https://marrrrrrrrry.github.io/watchtower-docs/zh/container-selection/ https://blog.csdn.net/mss359681091/article/details/147774708 https://p3terx.com/archives/docker-watchtower.html
容器更新列表
假设我们只想更新 nginx、redis 这两个容器,我们可以把容器名称追加到启动命令的最后面,就像下面这个例子:
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -c \
nginx redis
博主觉得把需要更新的容器名称写在启动命令中不利于管理,于是想了个更好的方法,建立一个更新列表文件。
$ cat ~/.watchtower.list
aria2-pro
unlockmusic
mtg
...
通过变量的方式去调用这个列表:
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -c \
$(cat ~/.watchtower.list)
这样只需要调整列表后删除 Watchtower 容器并重新执行上面的命令重新启动 Watchtower 即可。 存放点:/volume1/DataSpace/Watchtower/watchtower.list 使用1panel更新需要更新容器的镜像来源:手动编辑,添加 docker.1ms.run/前缀
测试 docker exec watchtower /watchtower --run-once
3 Tips
- windows删除顽固文件 管理员登录PowerShell输入: Remove-Item -Path "e:\Syncthing\myPhoto" -Recurse -Force
- docker操作权限 对于非root用户不能访问docker信息,neoserver读取不到容器信息,需要做一些修正 飞牛:
运行以下命令,检查用户是否属于 docker 组:
groups
如果 docker 不在输出中,手动添加当前用户到 docker 组:
sudo usermod -aG docker $USER
然后,手动刷新用户组(避免重新登录):
newgrp docker
再次运行:
groups
ls -l /var/run/docker.sock
如果输出如下:
srw-rw---- 1 root root 0 Feb 6 10:00 /var/run/docker.sock
说明 docker.sock 仍然属于 root,普通用户无法访问。修正权限:
sudo chown root:docker /var/run/docker.sock
sudo chmod 666 /var/run/docker.sock
在非root用户下 docker ps docker info 测试
群晖:
sudo synogroup --add docker sudo synogroup --adduser docker
sudo systemctl restart docker
有时候以上步骤后,用户可能还是会遇到权限问题,这可能是因为 /var/run/docker.sock文件的权限设置不当。这时可以使用以下命令来调整权限:
sudo chmod 666 /var/run/docker.sock
但是,这种方法会使得 docker.sock对所有用户开放,存在安全隐患。所以更安全的做法是确保这个文件属于 docker组:
sudo chown root:docker /var/run/docker.sock
还有一种方式:
chgrp administrtors /var/run/docker.sock 关机后又要重新输入! 群晖: