NAS折腾记录:安装Portainer

我在NAS上的服务大部分都是采用docker-compose的方式进行安装,而Portainer是一个容器镜像的可视化管理工具。本篇主要介绍Portainer的安装与汉化,以及如何远程管理威联通和群晖上的docker容器。

什么是Portianer

Portainer是一个容器镜像的可视化管理工具,利用Portainer可以轻松构建、管理和维护Docker环境。 而且完全免费,基于容器化的安装方式,方便高效部署。

安装Portainer

采用docker-compose的方式安装Portainer。

如图在NAS中合适的位置创建如下目录,并创建相应文件。

其中docker-compose文件如下:

---
version: "2.1"
services:
  portainer:
    image: portainer/portainer
    container_name: portainer
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
    volumes:
      - ./data:/data
      - /var/run/docker.sock:/var/run/docker.sock
    # traefik已经配置好的情况下,可以不设置ports。
    ports:
      - "9999:9000"
    labels:
      - "traefik.enable=true"
      #设定端口号
      - "traefik.http.services.portainer.loadbalancer.server.port=9000"
      #设置http
      - "traefik.http.routers.portainer.entrypoints=web"
      - "traefik.http.routers.portainer.service=portainer"
      - "traefik.http.routers.portainer.rule=Host(`portainer.dreamlyn.cn`)"
    restart: unless-stopped
networks:
  default:
    external:
      name: docker_default

在portainer目录下执行如下命令:

# 创建docker网络,如果已经有docker_default网络,则不需要。
docker network create -d bridge --attachable=true docker_default
# 启动portainer
docker-compose up -d
# 查看启动日志
docker-compose logs -f

设置Portianer

使用http://192.168.31.206:9999进入Portainer UI界面,如果配置好traefik,则使用http://portainer.dreamlyn.cn:880,如下图,设置初始密码。

进入Portainer后,点击左侧导航home出现如下界面,Portainer可自动识别本机所有的docker容器,如下图local就是本机的容器汇总。

点击local后,可在左侧选择Containers列出所有容器,并进行管理。

Portainer远程连接威联通

如果Portainer并非安装在威联通上,那么我们需要进行远程连接。

威联通的Container Station直接提供了远程访问和管理docker的方法,连接时需要支持TLS。

首先打开威联通的Container Station,选择菜单的属性,然后选择Docker凭证。点击下载按钮,将证书cert.zip文件下载到电脑上并解压,然后再把cert.zip文件上传到威联通NAS的共享文件夹中。

连接到威联通终端,进入到保存了cert.zip证书文件的目录,并使用以下命令创建docker的证书文件夹:

# 创建.docker文件夹
mkdir -pv ~/.docker
# 解压证书文件到该文件夹
unzip cert.zip -d ~/.docker
# 设置环境变量,将192.168.31.206修改为威联通的IP地址
export DOCKER_HOST=tcp://192.168.31.206:2376 DOCKER_TLS_VERIFY=1

接下来需要去Portainer中添加威联通的docker服务,进入Portainer后台菜单中选择Environments,然后点击Add environment。

选择Docker Standalone后点击Start Wizard。

在环境配置界面,连接方式选择API,Name设置为威联通或任意名字,Docker API URL设置为192.168.31.206:2376,其中192.168.31.206为威联通的IP地址,打开TLS,并上传之前下载并解压的ca.pem,cert.pem和key.pem,随后点击connect即可。

Portainer远程连接群晖

首先我们需要让群晖的docker服务允许通过TCP进行连接。用SSH连到群晖的命令行,编辑/var/packages/Docker/etc/dockerd.json。

sudo vim /var/packages/Docker/etc/dockerd.json

vim编辑器的使用方式参考这篇文章,在文件的最后添加如下代码,其中192.168.31.201为群晖的IP地址。

"hosts" : [ "tcp://192.168.31.201:2375", "unix:///var/run/docker.sock" ]

最终文件如下图所示

使用如下命令重启群晖Docker容器:

synoservice --restart pkgctl-Docker

接下来需要去Portainer中添加群晖的docker服务,进入Portainer后台菜单中选择Environments,然后点击Add environment。

选择Docker Standalone后点击Start Wizard。

在环境配置界面,连接方式选择API,Name设置为群晖或任意名字,Docker API URL设置为192.168.31.201:2375,其中192.168.31.201为群晖的IP地址,TLS保持关闭,随后点击connect即可。

汉化Portainer

Portainer界面的英语其实都比较简单,建议直接使用英文界面,如果实在需要对Portainer进行汉化可参考下文。

修改目录如下图,添加public文件夹,用来存放portainer的网页文件。

将docker-compose.yml文件中的portainer的版本修改为1.24.2,添加public目录映射,修改后的文件如下:

---
version: "2.1"
services:
  portainer:
    image: portainer/portainer:1.24.2
    container_name: portainer
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
    volumes:
      - ./public:/public
      - ./data:/data
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - "9999:9000"
    labels:
      - "traefik.enable=true"
      #设定端口号
      - "traefik.http.services.portainer.loadbalancer.server.port=9000"
      #设置http
      - "traefik.http.routers.portainer.entrypoints=web"
      - "traefik.http.routers.portainer.service=portainer"
      - "traefik.http.routers.portainer.rule=Host(`portainer.dreamlyn.cn`)"
    restart: unless-stopped
networks:
  default:
    external:
      name: docker_default

下载portainer的汉化包,这里提供1.24.2版本下载地址

将portainer-cn.zip加压后,里面的内容拷贝到public文件夹中。

使用如下命令启动容器:

# 创建docker网络,如果已经有docker_default网络,则不需要。
docker network create -d bridge --attachable=true docker_default
# 启动portainer
docker-compose up -d
# 查看启动日志
docker-compose logs -f

使用浏览器访问portainer,就可以看到汉化后的界面了,汉化后的界面如下图所示:

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇