问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

一文掌握Portainer CE:Docker容器管理工具的安装与配置

创作时间:
2025-01-21 22:08:58
作者:
@小白创作中心

一文掌握Portainer CE:Docker容器管理工具的安装与配置

随着Docker在开发运维领域的广泛应用,Portainer CE作为一款优秀的容器管理工具,受到了越来越多的关注。它提供了一个用户友好的Web界面,可以帮助用户更轻松地管理和监控容器化环境。本文将详细介绍如何在Linux环境下安装和调试Portainer CE,从基础的Docker安装到高级的公网远程管理,一步步带你掌握这款神器。无论是初学者还是资深开发者,都能从中受益匪浅。快来一起探索Portainer CE的魅力吧!

01

一、Docker安装

在安装Portainer CE之前,首先需要确保你的系统上已经安装了Docker。以下是CentOS和Ubuntu系统的具体安装步骤:

CentOS系统

  1. 卸载已安装的Docker(防止冲突):
sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
  1. 安装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
  1. 启动Docker:
sudo systemctl start docker
  1. 测试Docker是否安装成功:
sudo docker run hello-world

出现“hello-world”表示Docker安装成功。

  1. 设置开机自启Docker服务:
sudo systemctl enable docker

Ubuntu系统

  1. 卸载已安装的Docker(防止冲突):
sudo apt-get remove docker docker-engine docker.io containerd runc
  1. 安装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
02

二、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。

03

三、高级功能配置

配置反向代理

使用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:
04

四、安全性考量

虽然Portainer CE功能强大,但其安全性相对有限。Docker Inc.将企业业务出售给Mirantis后,Docker CE缺乏用户认证、角色访问控制(RBAC)等关键安全功能。在生产环境中使用时,建议采取以下措施:

  1. 使用防火墙限制对Portainer Web界面的访问。
  2. 配置SSL/TLS加密以保护数据传输。
  3. 定期更新Portainer CE以获取最新的安全补丁。
  4. 考虑使用Portainer Business Edition或其他企业级解决方案以获得更全面的安全功能。

通过以上步骤,你可以成功安装和配置Portainer CE,享受其带来的便利。无论是管理单机Docker环境还是复杂的Swarm集群,Portainer CE都能为你提供强大的支持。快去尝试一下吧!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号