VPS主机

Docker可视化容器管理工具Portainer – 让Docker安装与管理更简单

很多人不喜欢用Docker的原因是觉得Docker的命令太复杂了,想记又记不住,另外Docker运行和部署还需要考虑容器变量。也有不少的人觉得Docker运行出了错误不好解决,一旦Docker服务器特别多,想要实现统一管理Docker就会变得很麻烦。

为了能够让Docker安装与管理更为方便,于是就有了Docker的可视化管理工具,例如DockerUI、Shipyard、Rancher、Portainer等,今天要说的Portainer,是一款轻量级的图形化管理工具,通过它我们可以轻松管理不同的docker 环境。

实用的Docker镜像和容器使用起来还是非常地方便的,之前挖站否为大家分享的开源免费wiki程序、网站统计工具、自建密码存储系统都是Docker应用的典范:

  1. Wiki.js开源免费wiki程序安装与使用教程-界面简洁美观支持多种编辑器
  2. Matomo自建网站统计工具-Matomo开源免费功能强大的网站统计分析程序
  3. Bitwarden自建密码存储系统图文教程-开源免费的bitwarden_rs安装与使用

一、安装Docker环境

网站:

  1. https://www.portainer.io

1.1 准备VPS主机

Docker需要VPS运行,现在的VPS主机基本上也是白菜价了,有关于VPS主机评测查看:VPS主机排行榜单

1.2 Docker环境

有了VPS主机,现在你就可以需要在VPS主机上配置好Docker环境,这里有一个一键安装Docker环境的命令,配置起来非常地简单:Docker 和 Docker Compose 一键安装脚本 可手动选择安装版本和下载源

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

二、安装Portainer

首先,创建用于持久化存储 Portainer Server 数据的目录:

mkdir -p /opt/docker/portainer/data

然后,下载并安装社区版 Portainer Server 容器:

docker run -d \
  --name portainer \
  --restart=always \
  -e TZ=Asia/Shanghai `# 容器内部时区(可选参数)` \
  -p 8000:8000 \
  -p 9000:9000        `# HTTP 访问端口,例如要改为通过 8080 端口访问,就修改为8080:9000`\
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /opt/docker/portainer/data:/data `# 数据持久化目录` \
  portainer/portainer-ce:latest

Portainer Server 现已安装完毕。您可以通过运行检查 Portainer Server 容器是否已启动 docker ps

三、Portainer使用

现在你可以打开:IP:9000登录到您的 Portainer Server 实例,如果您修改了默认的 HTTP 访问端口,请不要忘记将 9000 替换为您自定义的端口:初次进入Portainer,你需要设置新密码。如果提示时间过期,你可以使用以下命令重启Docker后再次进入:sudo docker restart portainer

3.1 进入管理面板

打开Portainer面板,点击进入到Docker管理中心。

这里我们选择本地Docker管理。以下就是

你可以对Docker进行重启、关机、重建、复制等。

你可以查看Docker运行日志。

3.3 部署容器镜像

或者,我们直接创建容器。

填入Docker镜像地址,其它的环境变量你可以根据你自己的需要来设置。(点击放大)

3.4 部署Docker Compose

喜欢用Docker Compose的朋友,你可以点击创建Stacks。

接下来就是填入Docker Compose内容,这里我们以创建Plex容器为演示:

创建Plex存储目录。

mkdir -p /opt/docker/plex/config # Plex 配置文件目录
mkdir -p /opt/docker/plex/transcode # Plex 转码文件目录
mkdir -p /opt/docker/plex/data # Plex 数据文件目录

复制以下代码到Portainer中。

version: '3'

services:
 plex:
   image: plexinc/pms-docker:latest                  # latest 安装最新的版本
   hostname: PlexServer                              # 自定义主机名称
   restart: always                                   # 设置重启策略
   volumes:
     - /opt/docker/plex/config:/config          # Plex 配置文件目录
     - /opt/docker/plex/transcode:/transcode    # Plex 转码文件目录
     - /opt/docker/plex/data:/data             # Plex 数据文件目录
     - /opt/docker/plex:/video                # 视频文件存储目录
   ports:
     - 32400:32400/tcp                               # Plex 网页访问端口,例如要改为通过 8080 端口访问,就修改为8080:32400
     - 3005:3005/tcp                                 # Plex Companion
     - 8324:8324/tcp                                 # controlling Plex for Roku via Plex Companion
     - 32469:32469/tcp                               # access to the Plex DLNA Server
     - 32468:1900/udp                                # access to the Plex DLNA Server
     - 32410:32410/udp                               # current GDM network discovery
     - 32412:32412/udp                               # current GDM network discovery
     - 32413:32413/udp                               # current GDM network discovery
     - 32414:32414/udp                               # current GDM network discovery
   # devices:                                        # Share hardware devices with FFmpeg (optional)
     #  - "/dev/dri:/dev/dri"                        # Intel QSV
     #  - "/dev/nvidia0:/dev/nvidia0"                # Nvidia CUDA
     #  - "/dev/nvidiactl:/dev/nvidiactl"
     #  - "/dev/nvidia-modeset:/dev/nvidia-modeset"
     #  - "/dev/nvidia-nvswitchctl:/dev/nvidia-nvswitchctl"
     #  - "/dev/nvidia-uvm:/dev/nvidia-uvm"
     #  - "/dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools"
     #  - "/dev/video11:/dev/video11"                # Raspberry V4L2
   environment:
     TZ: Asia/Shanghai                               # 容器内部时区
     PLEX_UID: 0                                     # 在容器内创建的用户 ID(不懂勿改)
     PLEX_GID: 0                                     # 在容器内创建的用户组 ID(不懂勿改)
     PLEX_CLAIM: claim-RDeC1j2FgP8BWXfzxrsF          # 真实服务器的声明令牌,您可以通过访问 https://www.plex.tv/claim 获取声明令牌以将您的服务器登录到您的 Plex 帐户
     ADVERTISE_IP: 209.209.10.150:32400/              # 填写外部访问的固定 IP 或域名,没有的话可以删除此行

最后点击部署Stacks中。

稍等一会儿,我们就可以看到

接下来我们就可以对Plex进行设置了。

四、总结

Portainer管理Docker让Docker容器安装与部署越为简单,尤其对于不喜欢用命令式的Docker管理方式来说,Portainer可以提升Docker的使用体验。

文章出自:挖站否 https://wzfou.com/portainer/,部分内容参考 mokeedev.com 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

本文已收录到:Docker管理与使用专题

文章更新于: %s = human-readable time difference 下午2:53

Qi

关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。

查看评论