Portainer 无法读取本地容器解决方案

Portainer 是一个不错的容器管理工具,GitHub 星标 21.6K+,但是我们在 NAS 上安装 Portainer 时会发现一个问题:无法读取local(环境),这样我们就无法对NAS上的容器进行管理

问题所在

如果我们使用常规的命令安装,就会使用容器中的 docker.sock,而不是NAS里的 docker.sock,所以我们在安装后看不到本地的local环境。

解决方案

知道问题所在,解决起来就很简单,我们只需要在 docker 安装命令里添加一条 -v /var/run/docker.sock:/var/run/docker.sock 即可。

这里我们以绿联的UGOS为例,首先打开NAS的“调试功能”,开启“远程调试”,获取SSH密码(具体步骤可以看下方的往期文章),通过docker run 部署即可(绿联UGOS内无法实现环境目录映射)。


安装命令

docker 安装

1.官方镜像:

1
2
docker run -d --name=Portainer --restart=always --privileged=true -u 0:0 -p 9003:9000 -v /mnt/dm-0/.ugreen_nas/159329/Docker/Portainer/data:/data -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce

2.汉化镜像

1
2
3

docker run -d --name=Portainer --restart=always --privileged=true -u 0:0 -p 9003:9000 -v /mnt/dm-0/.ugreen_nas/159329/Docker/Portainer/data:/data -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce

Docker Compose 安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
version: "3"
services:
portainer-ce:
container_name: Portainer
restart: always
privileged: true
user: 0:0
ports:
- 9003:8002
volumes:
- /mnt/dm-0/.ugreen_nas/159329/Docker/Portainer/data:/data
# 这里根据你自己的目录进行应映射即可
- /var/run/docker.sock:/var/run/docker.sock
# 这里是容器环境目录映射,可以解决无法读取本地环境的问题
image: 6053537/portainer-ce:latest
# 默认为中文汉化镜像,官方镜像替换 `portainer/portainer:latest
`即可

汉化效果展示