很多人不喜欢用Docker的原因是觉得Docker的命令太复杂了,想记又记不住,另外Docker运行和部署还需要考虑容器变量。也有不少的人觉得Docker运行出了错误不好解决,一旦Docker服务器特别多,想要实现统一管理Docker就会变得很麻烦。
为了能够让Docker安装与管理更为方便,于是就有了Docker的可视化管理工具,例如DockerUI、Shipyard、Rancher、Portainer等,今天要说的Portainer,是一款轻量级的图形化管理工具,通过它我们可以轻松管理不同的docker 环境。
一、安装Docker环境
网站:
- 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/