一文掌握Portainer CE:Docker容器管理工具的安装与配置
一文掌握Portainer CE:Docker容器管理工具的安装与配置
随着Docker在开发运维领域的广泛应用,Portainer CE作为一款优秀的容器管理工具,受到了越来越多的关注。它提供了一个用户友好的Web界面,可以帮助用户更轻松地管理和监控容器化环境。本文将详细介绍如何在Linux环境下安装和调试Portainer CE,从基础的Docker安装到高级的公网远程管理,一步步带你掌握这款神器。无论是初学者还是资深开发者,都能从中受益匪浅。快来一起探索Portainer CE的魅力吧!
一、Docker安装
在安装Portainer CE之前,首先需要确保你的系统上已经安装了Docker。以下是CentOS和Ubuntu系统的具体安装步骤:
CentOS系统
- 卸载已安装的Docker(防止冲突):
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 安装Docker:
配置repo环境:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
下载并安装Docker:
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 启动Docker:
sudo systemctl start docker
- 测试Docker是否安装成功:
sudo docker run hello-world
出现“hello-world”表示Docker安装成功。
- 设置开机自启Docker服务:
sudo systemctl enable docker
Ubuntu系统
- 卸载已安装的Docker(防止冲突):
sudo apt-get remove docker docker-engine docker.io containerd runc
- 安装Docker:
更新软件包:
sudo apt update
sudo apt upgrade
安装Docker依赖:
sudo apt-get install ca-certificates curl gnupg lsb-release
添加Docker官方秘钥:
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
添加Docker软件源:
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
安装Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io
设置Docker开机自启:
sudo systemctl enable docker
二、Portainer CE安装
完成Docker的安装后,接下来就可以安装Portainer CE了。以下是官方版和中文版的安装方法:
官方版2.19.5
自动拉取并运行Portainer(单机版):
docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce:latest
这条命令在后台启动一个名为“portainer”的Portainer容器,将宿主机的9000端口映射到容器的9000端口,并将Docker套接字挂载到容器中,设置容器重启策略为“always”,即随Docker自启动本容器。
浏览器访问IP+9000端口,例如:http://192.168.226.25:9000/
首次登录需要设置管理员用户与密码,且密码长度要求至少12位字符。
中文版2.19.5
由于官方提供的为英文版本,可以使用带自动翻译功能的浏览器打开使用,如Edge,或者参考下述,获取往期版本的汉化镜像部署。
下述命令会自动拉取并安装,版本是2.19.5:
docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce
中文版2.11.0
下述命令会自动拉取并安装:
docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock newrain857/portainer-ce-cn
注:三种镜像版本(包括官方的)都存在个别一两个功能BUG。
三、高级功能配置
配置反向代理
使用Nginx配置反向代理:
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 300s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
如果你想通过www.xxxxx.com/portainer这样的方式访问,可以使用以下配置:
location ^~ /portainer/ {
proxy_pass http://127.0.0.1:9000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 300s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
使用docker-compose.yml
version: "2"
services:
portainer:
container_name: portainer
network_mode: bridge
image: 6053537/portainer-ce:latest
ports:
- 9000:9000
volumes:
- ./data:/data
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
volumes:
data:
四、安全性考量
虽然Portainer CE功能强大,但其安全性相对有限。Docker Inc.将企业业务出售给Mirantis后,Docker CE缺乏用户认证、角色访问控制(RBAC)等关键安全功能。在生产环境中使用时,建议采取以下措施:
- 使用防火墙限制对Portainer Web界面的访问。
- 配置SSL/TLS加密以保护数据传输。
- 定期更新Portainer CE以获取最新的安全补丁。
- 考虑使用Portainer Business Edition或其他企业级解决方案以获得更全面的安全功能。
通过以上步骤,你可以成功安装和配置Portainer CE,享受其带来的便利。无论是管理单机Docker环境还是复杂的Swarm集群,Portainer CE都能为你提供强大的支持。快去尝试一下吧!