如何部署生产环境的Portainer服务?

Docker

1 部署Docker集群

如何部署Oracle Linux 10.x Docker生产环境?

2 部署Portainer

2.1 Portainer的基础知识

2.1.1 Portainer的简介

Portainer是一个轻量级的管理UI,可让你轻松管理Docker主机和Swarm群集

2.1.2 Portainer的作用

– 管理Docker堆栈
– 管理Docker的容器
– 管理Docker的镜像
– 管理Docker的卷
– 管理Docker的网络等

2.1.3 Portainer的兼容性

Portainer支持任何的Docker引擎

2.2 部署Portainer

2.2.1 准备镜像

In hd01

cd /data/docker/images/
docker load -i portainer-ce:2.40.0.tar
docker tag portainer/portainer-ce:2.40.0 hd01.cmdschool.org:5000/portainer/portainer-ce:2.40.0
docker push hd01.cmdschool.org:5000/portainer/portainer-ce:2.40.0
docker image rm portainer/portainer-ce:2.40.0

docker load -i portainer-agent:2.40.0.tar
docker tag portainer/agent:2.40.0 hd01.cmdschool.org:5000/portainer/agent:2.40.0
docker push hd01.cmdschool.org:5000/portainer/agent:2.40.0
docker image rm portainer/agent:2.40.0

以上命令软件包可通过以下命令获取,

docker pull portainer/portainer-ce:2.40.0
docker save portainer/portainer-ce:2.40.0 -o portainer-portainer-ce:2.40.0.tar
docker pull portainer/agent:2.4.0
docker save portainer/agent:2.4.0 -o portainer-agent:2.40.0.tar

In hd01

2.2.1 创建服务配置文件

mkdir -p /data/docker/yml/
vim /data/docker/yml/portainer-stack.yml

加入如下配置:

version: '3.6'
services:
  agent:
    image: hd01.cmdschool.org:5000/portainer/agent:2.40.0
    environment:
      # REQUIRED: Should be equal to the service name prefixed by "tasks." when
      # deployed inside an overlay network
      AGENT_CLUSTER_ADDR: tasks.agent
      # AGENT_PORT: 9001
      # LOG_LEVEL: debug
      TZ: Asia/Shanghai
    ports:
      - "9001:9001"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    logging:
      driver: "json-file"
      options:
        max-size: "20m"
        max-file: "10"
    networks:
      - agent_network
    deploy:
      mode: global

  portainer:
    image: hd01.cmdschool.org:5000/portainer/portainer-ce:2.40.0
    environment:
      TZ: Asia/Shanghai    
    command: -H tcp://tasks.agent:9001 --tlsskipverify
    ports:
      - "9900:9000"
    volumes:
      - portainer-data:/data
    logging:
      driver: "json-file"
      options:
        max-size: "20m"
        max-file: "30"
    networks:
      - agent_network
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.labels.portainer-web == true]

volumes:
  portainer-data:
    external: true
 
networks:
  agent_network:
    driver: overlay

2.2.2 标记运行节点

In hd01

docker node update --label-add portainer-web=true hd01.cmdschool.org

2.2.3 部署服务

docker stack deploy -c /data/docker/yml/portainer-stack.yml portainer

2.2.4 创建管理员账号

http://hd01.cmdschool.org:9900
注:以上登录Portainer将会提示你创建管理员账号

没有评论

发表回复

Docker
如何部署生产环境的Docker Registry服务?

1 部署Docker集群 如何部署Oracle Linux 10.x Docker生产环境? 2 部 …

Docker
如何部署Oracle Linux 10.x Docker生产集群环境?

1 基础知识 如何部署Docker生产环境? 2 最佳实践 2.1 系统环境配置 2.1.1 系统环 …

Docker
如何安装部署WinBoat容器应用?

1 前言 一个问题,一篇文章,一出故事。 昨天完成了WinBoat的部署,今天尝试安装应用。 2 最 …