当前环境

系统:CentOS

Portainer 原有版本:1.24.0

在 Portainer 安装时候是指定了数据卷的,这样一来,更新 Portainer 只需要下载新的 Portainer 的镜像,删除原有容器即可,原先的记录信息都在数据卷中。

部署方式

先确定是直接用单个容器安装命令启的容器还是走的集群命令起的容器

docker service list

单机部署

  1. 如直接使用镜像启动,则使用单个容器名关闭
    docker stop portainer的容器名或容器Id
  2. 删除容器
    docker rm portainer的容器名或容器id
  3. 可查看下容器确定下是否已经删除
    docker ps -a
  4. 删除镜像
    docker rmi portainer的镜像名或镜像Id
  5. 如仍沿用单机部署方式,则直接拉取新版本镜像
    docker pull portainer/portainer-ce
  6. 启动镜像,登录输入账号密码即可
    docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --name portainer portainer/portainer-ce

集群部署

  1. 如采用服务方式启动,则移除服务一并删除容器。
    页面上选中 portainer 相关的服务删除后弹框如上,一并将容器也删除。
    或是使用命令删除
    docker service rm portainer的服务名或服务Id
  2. 可查看下容器和服务情况确定下是否已经删除 portainer
    docker ps -a
    docker service list
  3. 删除镜像
    docker rmi portainer的镜像名或镜像Id
  4. 如采用集群部署,则使用集群部署的命令(单机也可采用,方便使用到提供的 webhook 功能)
    curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
    docker stack deploy -c portainer-agent-stack.yml portainer
  5. 查看当前服务、镜像和容器,可以发现都存在了,容器直接启动
    docker ps -a
  6. 登录输入账号密码,左下角没得了新版本说明

关于Portainer重置密码

# 下载帮助镜像portainer/helper-reset-password
docker pull portainer/helper-reset-password
# 停止运行的portainer
docker stop "id-portainer-container"
# 运行重置命令
docker run --rm -v portainer_data:/data portainer/helper-reset-password
# 结果
2020/06/04 00:13:58 Password successfully updated for user: admin
2020/06/04 00:13:58 Use the following password to login: &_4#\3^5V8vLTd)E"NWiJBs26G*9HPl1
# 重新运行portainer,密码 为?重置的 &_4#\3^5V8vLTd)E"NWiJBs26G*9HPl1
docker start "id-portainer-container"