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 来访问面板,并设置管理员密码。