前言

TrueNAS SCALE 的应用是以K3S和Helm为基础的,所以直接使用docker,会影响系统,官方也不建议直接使用docker,不过现在社区有了一个曲线救国的方案---docker in docker

顾名思义,docker in docker就是在docker里运行docker,这样就可以隔离主机环境。

这个应用叫做“docker-compose”,在core train,使用这个应用可以直接部署docker-compose,当然什么都不部署直接运行,它就是一个带docker环境的容器,
未来可能会集成portainer

当然,我们并不推荐使用,如果你会使用社区的自定义应用,尽量使用社区的自定义应用

部署

所以我们现在直接来在里面以docker-compose的方式部署portainer

在此之前,建议大家创建目录,自行规划一下以后在这个应用里部署的docker挂载的目录,同时,自行规划一下以后要用的端口,这里是社区已经使用的端口

version: "2.1"
services:
  qbittorrent:
    image: portainer/portainer-ce
    container_name: portainer
    volumes:
      - /mnt/SSD/apps/docker-compose/portainer/data:/data
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 11170:9000
    restart: unless-stopped

这是portainer的docker-compose文件,请自行修改映射的目录和端口,然后保存为 portainer.yaml

image.png

image.png

image.png

这里填我们的文件路径,其他全部默认即可,保存后等待部署,然后访问我们的端口。

之后就可以看到熟悉的portainer了

在这里,你可以正常使用portainer

网络什么的都是正常的

原理介绍

这里我就简单的讲一下原理

通过查看代码可以发现,社区直接映射了整个/mnt目录,所以可以像普通的映射一样映射目录,同时因为是套娃,所以映射目录的:shared功能不可用(一般情况用不到这个)

社区的docker-compose给的是host网络,所以可以像普通的docker一样直接映射端口

换而言之,绝大部分应用应该是可以完美运行

最后修改:2022 年 06 月 02 日
感谢您的支持