本文目录
显示
1.
一、安装Docker环境
1.1.
1.1 准备VPS主机
1.2.
1.2 Docker环境
2.
二、安装Portainer
3.
三、Portainer使用
3.1.
3.1 进入管理面板
3.2.
3.2 在线管理镜像
3.3.
3.3 部署容器镜像
3.4.
3.4 部署Docker Compose
4.
四、总结
4.1.
推荐阅读

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

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

一、安装Docker环境

网站:

  1. https://www.portainer.io

1.1 准备VPS主机

Docker需要VPS运行,现在的VPS主机基本上也是白菜价了,有关于VPS主机评测查看:https://www.laoliublog.cn/vpsceping

1.2 Docker环境

有了VPS主机,现在你就可以需要在VPS主机上配置好Docker环境,这里有一个一键安装Docker环境的命令,配置起来非常地简单。

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管理。以下就是Portainer的Docker管理中心。(点击放大)

3.2 在线管理镜像

在Portainer中,你可以查看你的服务器上已经运行的Docker容器。


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

你可以查看Docker运行日志。

3.3 部署容器镜像

Portainer的APP模板里已经自带了非常多的热门容器镜像。

你可以直接选择一个点击就可以部署上线了。

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


填入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中。

稍等一会儿,我们就可以看到Portainer已经成功部署容器了。

同时,我们在容器中也可以看到上线运行的镜像了。

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

四、总结

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

原文链接:https://wzfou.com/portainer/