docker-compose Portainer

Posted CIAS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker-compose Portainer相关的知识,希望对你有一定的参考价值。

前言Portainer

PortainerDocker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。

 

优点

  1. 支持容器管理、镜像管理

  2. 轻量级,消耗资源少

  3. 基于docker api,安全性高,可指定docker api端口,支持TLS证书认证。

  4. 支持权限分配

  5. 支持集群

缺点

  1. 功能不够强大。

  2. 容器创建后,无法通过后台增加端口。

 

Docker Swarm

Docker Swarm 是一款用来管理多主机上的Docker容器的工具,可以负责帮你启动容器,监控容器状态,如果容器的状态不正常它会帮你重新帮你启动一个新的容器,来提供服务,同时也提供服务之间的负载均衡,而这些东西Docker-Compose 是做不到的。

 

上传中文包portainer目录

把 (Portainer-CN.zip  百度云提取码: wqp1)解压至里面portainer/portainer

yum install -y unzip && unzip /portainer/Portainer-CN.zip 

创建网络

docker network create --driver=bridge --subnet=172.20.0.0/16 portainer

创建目录 

mkdir -p /portainer

Portainer 安装 

vim /portainer/docker-compose.yml
version: '3.1'
services:
  portainer:
    image: portainer/portainer:latest
    container_name: portainer
    hostname: portainer
    restart: always
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "./portainer/data:/data"
      - "./portainer/Portainer-CN:/public"
    environment:
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    ports:
      - "9000:9000"
    networks:
        portainer:
           ipv4_address: 172.20.0.30
networks:
    portainer:
       external: true

安装Swarm Manager(swarm所有节点和服务端安装)

docker pull swarm

 创建Swarm Manager

docker swarm init --advertise-addr 192.168.3.236

 生成的Swarm Manager结果

Swarm initialized: current node (zhyv8ss1a324v6nzyeoiv3ssm) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4y8b4vinuzx8jecoirehwxjyho1dpjvkzsp9xg1bjqlqgzho6y-dig4bwtefaeizkgadkbcxikdr 192.168.3.236:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

Swarm Node运行加入Swarm Manager

docker swarm join --token SWMTKN-1-4y8b4vinuzx8jecoirehwxjyho1dpjvkzsp9xg1bjqlqgzho6y-dig4bwtefaeizkgadkbcxikdr 192.168.3.236:2377

运行结果
This node joined a swarm as a worker.

Swarm Manager查看所有Swarm node节点 

docker node ls

portainer的web页面登录http://IP:9000,初始化密码

docker,所以选Local,点Connect继续;

中文版的Portainer安装完成,在管理端查看节点

 Swarm集群测试(简单pull一个nginx测试)Swarm Manager操作

参数说明:

  • --name nginx-test:容器名称。
  • -p 8085:80: 端口进行映射,将本地 8086 端口映射到容器内部的 80 端口。
  • -d nginx: 设置容器在在后台一直运行。
docker run --name nginx-test -p 8085:80 -d nginx

Swarm Manager创建服务,服务名为test1,副本数2(副本数不能超过集群中节点数)

docker service create --replicas 2 --name test1 nginx 

Swarm Manager查看副本运行情况

docker service ps test1

Swarm Manager将nginx容器的80端口映射到虚拟机8001端口上

docker service update --publish-add 8001:80 test1

查看集群内server

docker service ps test1

删除集群内service

docker service rm test1

主动离开集群,让节点处于down状态,才能删除

docker swarm leave

删除指定节点 (管理节点Swarm Manager) 

docker node rm bfo00pvekiwc2duzopw51e6v6

Swarm Manager操作,解散集群

docker swarm leave --force

以上是关于docker-compose Portainer的主要内容,如果未能解决你的问题,请参考以下文章

Portainer-可视化Docker管理工具

Docker| 轻量级Portainer可视化管理容器用着真的很舒服

Docker| 轻量级Portainer可视化管理容器用着真的很舒服

配置docker-compose.yaml文件

如果你还没玩过Docker Stack管理服务,你已经out了,(送Portainer集群管理教程)

Traefik v2.5 未重定向到搬运工容器。 404 未找到