Portainer 是一个好用的 Docker 容器控制面板。它的代码仓库在这 里。它支持单节点和集群部署。

在此之前,我已经将个人服务器完全容器化了。如果能够可视化操作、监控各种容器,对于 日常的运维帮助很大,感觉一切尽在掌握。 可以看看搭建好后的效果,界面还是很美观 的。

可以快速拉取镜像

可以可视化发布容器,并灵活设置环境变量、网络、重启策略等等参数。

可以在镜像更新的时候,快速用新镜像更新容器。

还可以快速进入接入容器命令行,查看容器日志。

可以说,我日常需要的功能都有,感觉很完善了。

搭建

那么对于单点服务器来说,该如何搭建呢,首先你要确认你的服务器目前有安装 Docker。 可以输入docker -v来看看当前环境中是否存在 docker。 如果不存在,需要安装 docker,你可以在 Google 找找教程。对于 AWS 的 EC2,可以输入sudo yum install docker -y来安装。 确认安装好 Docker 后。确认一下 Docker 是否启动。然后看看 /var/run 路径下是否有 docker.sock 文件。 然后,确认 8000 端口和 9443 端口都没有 被占用,因为 Portainer 后续要用到这两个端口。

将应用数据存储在 Docker Volume

如果你想将 Portainer 产生的应用数据存在 Docker Volume 中,你可以直接执行下面的命 令。后续部署完成后,Portainer 所使用的 Docker Volume 也可以在 Portainer 看到并管 理。如果 8000 端口被占用了,可以将-p 8000:8000改成其他端口,类似-p 12345:8000。9443 端口也是类似。 如果你想指定容器名为其他,可以修改–name 参数, 比如说--name myportainer

% docker volume create portainer\_data
% docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer\_data:/data portainer/portainer-ce:latest

将应用数据映射到宿主机的其他地方

你可以在/data 下建立目录 portainer,所以说,最终的路径是/data/portainer。我最终 选择了这种方式,因为我单独购买了 AWS 的数据盘来存储我的服务器的应用数据。所以我 倾向于将应用数据都存在数据盘中。 其他参数设置和上面的部分一致。

% docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /data/portainer:/data portainer/portainer-ce:latest

确认部署状态

然后执行docker ps来确认 Portainer 是否正常启动。可以参考我的截图中的红框中的信 息。

如果你等待几分钟,看到 Status 为 Up xxx minutes 的话,说明 Portainer 容器已经成 功启动了。 然后,你可以访问 https://localhost:9443 来访问面板,并设置管理员密 码。