first commit
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
---
|
||||
title: 🐈日志<% tp.file.title %>
|
||||
date: <% tp.date.now("YYYY-MM-DD HH:mm:ss") %>
|
||||
tags:
|
||||
- dailynote
|
||||
rating: ⭐️
|
||||
excerpt:
|
||||
created: 2025-08-30T11:45
|
||||
updated: 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` 这两个容器,我们可以把容器名称追加到启动命令的最后面,就像下面这个例子:
|
||||
|
||||
```none
|
||||
docker run -d \
|
||||
--name watchtower \
|
||||
--restart unless-stopped \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
containrrr/watchtower -c \
|
||||
nginx redis
|
||||
```
|
||||
|
||||
博主觉得把需要更新的容器名称写在启动命令中不利于管理,于是想了个更好的方法,建立一个更新列表文件。
|
||||
|
||||
```none
|
||||
$ cat ~/.watchtower.list
|
||||
aria2-pro
|
||||
unlockmusic
|
||||
mtg
|
||||
...
|
||||
```
|
||||
|
||||
通过变量的方式去调用这个列表:
|
||||
|
||||
```none
|
||||
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` 组:
|
||||
|
||||
```bash
|
||||
groups
|
||||
```
|
||||
|
||||
如果 `docker` 不在输出中,手动添加当前用户到 `docker` 组:
|
||||
|
||||
```bash
|
||||
sudo usermod -aG docker $USER
|
||||
```
|
||||
|
||||
然后,**手动刷新用户组**(避免重新登录):
|
||||
|
||||
```bash
|
||||
newgrp docker
|
||||
```
|
||||
|
||||
再次运行:
|
||||
|
||||
```bash
|
||||
groups
|
||||
```
|
||||
|
||||
|
||||
```bash
|
||||
ls -l /var/run/docker.sock
|
||||
```
|
||||
|
||||
如果输出如下:
|
||||
|
||||
```text
|
||||
srw-rw---- 1 root root 0 Feb 6 10:00 /var/run/docker.sock
|
||||
```
|
||||
|
||||
说明 `docker.sock` 仍然属于 `root`,普通用户无法访问。修正权限:
|
||||
|
||||
```bash
|
||||
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 <username> docker
|
||||
|
||||
sudo systemctl restart docker
|
||||
有时候以上步骤后,用户可能还是会遇到权限问题,这可能是因为 `/var/run/docker.sock`文件的权限设置不当。这时可以使用以下命令来调整权限:
|
||||
|
||||
```bash
|
||||
sudo chmod 666 /var/run/docker.sock
|
||||
|
||||
```
|
||||
|
||||
但是,这种方法会使得 `docker.sock`对所有用户开放,存在安全隐患。所以更安全的做法是确保这个文件属于 `docker`组:
|
||||
|
||||
```bash
|
||||
sudo chown root:docker /var/run/docker.sock
|
||||
|
||||
```
|
||||
还有一种方式:
|
||||
|
||||
chgrp administrtors /var/run/docker.sock
|
||||
关机后又要重新输入!
|
||||
群晖:
|
||||
|
||||
|
||||
|
||||
## 4 Questions
|
||||
|
||||
## 5 Thoughts
|
||||
|
||||
|
||||
|
||||
|
||||
## 6 NextDo
|
||||
|
||||
|
||||
Reference in New Issue
Block a user