docker-compose Portainer
Posted CIAS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker-compose Portainer相关的知识,希望对你有一定的参考价值。
前言Portainer
Portainer
是Docker
的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。
优点
-
支持容器管理、镜像管理
-
轻量级,消耗资源少
-
基于docker api,安全性高,可指定docker api端口,支持TLS证书认证。
-
支持权限分配
-
支持集群
缺点
-
功能不够强大。
-
容器创建后,无法通过后台增加端口。
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的主要内容,如果未能解决你的问题,请参考以下文章
Docker| 轻量级Portainer可视化管理容器用着真的很舒服
Docker| 轻量级Portainer可视化管理容器用着真的很舒服