我们使用 cookie 来帮助我们改善网页体验。请阅读我们的 Cookie 政策

NAS 145

Portainer 基本功能介绍

使用 Portainer 于 ASUSTOR NAS 中拉取 Docker 镜像及操作容器

2023-11-30

课程目的

完成此课程后您将能够:

  1. 使用 Portainer 来拉取所需的 Docker 镜像。
  2. 使用 Portainer 将拉取的镜像部署容器执行。

必修项目

课程必修项目:

学生须先具备以下知识:

Docker / 镜像 (Image) / 容器 (Container)


大纲

1. Portainer 简介

1.1 安装 Portainer CE 汉化版

2. 设置本地 Docker 环境

3. 拉取 Docker 镜像

3.1 在 Docker Hub 上搜寻

3.2 拉取镜像

3.3 使用其他注册表拉取镜像

4. 部署 Docker 容器

5. 远程访问 NAS 部署的容器

6. 升级镜像并更新容器





1. Portainer 简介

Docker 并没有官方 GUI 介面支持,要使用 Docker 需对 Docker 的指令有一定程度的了解,或参考文件依步骤下载镜像及完成部署。 Portainer 是一个易用且轻量化的 Docker 管理介面,透过 Web 界面的操作,更方便对于 Docker 指令不熟悉的用户更快进入 Docker 的世界。 Docker Hub 中数千种来自才华洋溢开发者的镜像,透过 Portainer 即可进行轻松部署,Portainer 拥有人性化界面,不须下指令,仅需下载镜像即可立刻加入完成部署,创造 ADM 更多可能性。基于 Docker 的特性,于 Portainer 中可以直接更新镜像的版本,使用相同的设置,重新部署并取代原来的容器即可完成升级,使用最新版本的功能。


1.1 安装 Portainer CE 汉化版

Portainer CE 默认不支持其他语言,ASUSTOR App Central 上的 Portainer CE 汉化版本需搭配特定兼容的 Portainer CE 版本,汉化版本作者:ysp
适用机种:AS31、32、40、50、51、52、53、54、61、62、63、64、70、Drivestor (AS11)、Drivestor Pro (AS33)、Drivestor Lite (AS11TL)、Drivestor Pro Gen2 (AS33 v2)、Lockerstor (AS65/66)、Lockerstor Gen2 (AS67) 、Lockerstor Pro (AS71)、Flashstor (FS67)。


步骤 1

  • 使用网页浏览器并以系统管理员帐户登入 ADM。
  • 在 ADM 画面上选择 [App Central]
  • [ASUSTOR Apps] 选择 [Portainer CE 汉化版] 后,按下 [安装]


步骤 2

  • 若 Docker Engine 还未安装,App Central 会先安装 Docker Engine,然后再安装 Portainer CE 汉化版。
  • 安装完 Portainer CE 汉化版后,在 ADM 画面上选择 [Portainer CE 汉化版]
  • 请创建初始管理员用户及密码。




2. 设置本地 Docker 环境

初次执行 Portainer,先设置本地 Docker 环境,即可在 NAS 上使用 Portainer 基本功能。

  • 于初始画面中,点选 [开始使用]


  • 于左侧框架点选 [环境] 后,选择 [local]
  • [环境细节] 页面中输入 NAS Public IP,这是 Docker 部署容器的默认 IP,点击 [更新环境]




3. 拉取 Docker 镜像

3.1 在 Docker Hub 上搜寻

Portainer 会默认使用 Docker Hub 来拉取镜像,因此,需先在 Docker Hub 上搜寻所需镜像的正确路径及名称。相同功能或名称的镜像可能会有不同开发者上传不同版本,输入正确的路径及名称才能拉取正确的版本。
範例: [Docker Hub]

  • 于 Docker Hub 搜寻 [wordpress],较热门的版本会排在前面,点选所需的项目,进入该容器的页面。


  • 于 wordpress 页面,右侧会显示此镜像的仓库名。



3.2 拉取镜像


  • 登录 Portainer 后,点选一个环境。


  • 选择 [镜像]


  • [拉取镜像] 页面,输入 Docker Hub 中的镜像仓库名,点选 [拉取镜像]
  • Portainer 默认会拉取 [latest] 版本的镜像,用户可以依 Docker Hub 里的说明,拉取其他 tag 的版本。


用户可略过前面在 Docker Hub 中搜索镜像的步骤,只需在此页面输入镜像名称,点击右侧 "搜索" 键,即可在网页浏览器开启新分页,显示 Docker Hub 上的搜索结果。


  • 拉取镜像所需时间依所需的镜像大小会不同,下载时,此页面会显示下载中的状态。


  • 下载完成后,镜像列表中将会看到该镜像,还没有启动的镜像,会标示为 [未使用]。



3.3 使用其他注册表拉取镜像

若网络环境影响从默认 Docker Hub 拉取镜像的性能及时间,用户可以使用其他注册表来拉取镜像,例如:使用阿里云服务,启用个人的 Docker 镜像注册表。


  • 于 Portainer 左侧框架中选择 [注册表]
  • 点选 [添加注册表]


  • 选择 [自定义注册表]
  • 输入自定义名称及注册表 URL 后,点击 [添加注册表]


  • 添加注册表后,拉取镜像时可选取自不同的注册表拉取镜像。




4. 部署 Docker 容器

Docker 镜像下载完成后,即可为该镜像创建 Docker 容器,容器创建成功后即可使用。


  • 于 Portainer 左侧框架中选择 [容器]
  • [容器列表] 页面,点选 [添加容器]


  • [创建容器] 功能页面,输入自定义的容器名称,及所需的镜像版本。
  • 点选 [始终拉取镜像],将会下载指定的版本或最新版本的镜像。启用此选项,可略过前面章节下载镜像的步骤,在此页输入镜像名称,为了确保镜像名称的正确性,请点击 "搜索" 键,在 Docker Hub 上搜索 Docker 镜像。若没指定镜像版本 (tag),默认将使用 latest 版本。


若需要在 Docker 容器中设置存储卷 Volume,可选择将存储卷绑定至 NAS 共享文件夹的子文件夹中,这样容器的的数据即可保存在 NAS 上,并可从 ADM 的文件总管访问容器的数据。

  • 点击 [高级容器设置] [存储卷] [+ 添加存储卷映射]
  • [容器] 中,输入此容器设置的存储卷完整路径,选择 [绑定]
    例如:Wordpress 的主要文件夹 "/var/www/html"
  • [主机] 中,输入 NAS 的文件夹完整路径,选择 [读写] 或 [只读]。
    例如:NAS 的文件夹 "/volume1/Docker/WordpressDK/data"


Docker 会将 WordPress 容器中 "/var/www/html" 文件夹中的所有数据绑定至 NAS 的 "/volume1/Docker/WordpressDK/data" 中,即使容器被移除,这些数据仍保存在 NAS 上。


  • 建议启用 [始终拉取镜像]、[将所有暴露的网络端口发布为随机主机端口]
  • 点选 [部署容器]


  • 容器创建成功后,此容器会直接启动,容器列表里会列出此 Docker 环境中所有已创建的容器,用户可以在此列表中操作不同的容器。
  • Docker 容器完成部署后,可于容器列表中,点选部署时的 [已发布端口],该容器将于浏览器新分页中开启。


以 Wordpress 为例,点选右侧的 [已发布端口],Portainer 将会于浏览器新分页中开启 Wordpress。
注:如果 IP 为 0.0.0.0,请参考 [ 2. 设置本地 Docker 环境 ] 以设置 Public IP。





5. 远程访问 NAS 部署的容器

若想远程访问使用于 ASUSTOR NAS 中部署的容器,首先您的 ASUSTOR NAS 需先设置可以允许远程访问,设置方式请参照 [ NAS 221:远程访问 - EZ-Connect ] 及 [ NAS 224:远程访问 - 手动联机 ]。

因现行的浏览器提高安全连线等级,只允许使用 HTTPS 远程访问 DDNS 网址的网页,若自行部署的容器暂时没有支持 HTTPS 连接,或无法汇入使用 ADM 的 HTTPS 凭证,将无法使用 HTTPS 远程使用此容器。可以参考 [ NAS 325:设置反向代理服务器 ] 尝试使用 ADM 反向代理服务器来设置容器的远程安全连线。

注:Portainer CE 2.9.2 之后的版本默认使用 HTTPS 连线,并会自动汇入使用 ADM 的凭证。 ADM 凭证更新后,若使用 HTTPS 连接 Portainer CE 时会显示凭证无效或已过期的信息,请于 App Central 中停用 Portainer CE,再重新启用即可重新汇入 ADM 凭证。





6. 升级镜像并更新容器

当 Docker 镜像在 Docker Hub 更新版本后,latest 版本也会同时被更新。使用 latest 版本镜像所部署的容器,可以使用 Portainer,依下列步骤升级为最新版本的镜像。


  • 以 Nextcloud 为例,于左侧框架点选 [容器] 后,选择 [Nextcloud]
  • 点选 [停止] 停止执行中的 Nextcloud。


  • 点选 Nextcloud 进入容器详情页面。
  • 点击 [重新创建]


  • 启用 [拉取最新镜像],点击 [重新创建]


  • 拉取镜像及重新创建容器所需时间都不同,更新时,此页面会显示如下的状态。


  • 部署完成后,于容器列表页面中可以看到 Nextcloud 已经使用更新的镜像重新建立。
  • 点击 [启动] 以启动容器。


  • 不同的容器完成启动所需时间各有不同,请稍候片刻,或点选 [日志] 确认容器是否已经更新并成功启动。


  • [镜像] 页面中,选择 此镜像,点击 [删除] 移除。

注:若无标示为 [none] 的镜像,表示此镜像已经是最新版本,无需更新。

此文章有帮助吗? /