本文最后更新于 2024-01-05,该文章更新时间较久,如有变动或失误地方请留言或自行查找。

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.官方镜像:


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.汉化镜像


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 安装

version: "3"
services:
    portainer-ce:
        container_name: Portainer
        restart: always
        privileged: true
        user: 0:0
        ports:
            - 9003:9000
        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`即可


汉化效果展示