docker集群

Docker

版本12前无集群

版本12后有集群

——docker swarm 集成docker engine

——k8s google:未来科技

编排能力:可以做service也可以允许单个容器

node:

1、manager:将任务分解给worker执行。(管理)

可以有多个,但是只会有一个leader

2、work:定期更新状态给manger来维护集群

docker service 定义在node节点上执行的任务。

vi /etc/hosts

192.168.43.214 node1

192.168.43.192 node2

192.168.43.196 node3

docker swarm init --advertise-addr 192.168.43.214  ——本机ip

ssh-keygen

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

在两台主机上输入

docker swarm join \

--token SWMTKN-1-1mbjsk77f67d0y934o5qu1h8i5givmhnov3nkfe6u7jz8deg2b-2d6hhjnotndl18ltdip5nhxr2 \

192.168.43.214:2377

报错可能是防火墙没清除

docker info  ——显示docker集群的详细信息

docker node promote node2  ——将work转成manager

docker swarm leave -f   ——删除集群

全部开启路由转发:net.ipv4.ip_forward = 1

scp /etc/sysctl.conf [email protected]:/root/   //修改完swar这台电脑直接用scp就ok

ssh远程两台主机刷新sysctl

docker pull registry:2  --下载仓库的镜像

docker node ls   ——查看节点

mkdir /opt/data/registry -p

docker run -itd -p 5000:5000 --restart=always -v /opt/data/registry/:/var/lib/registry --name registry registry:2

vi /usr/lib/systemd/system/docker.service

修改:

ExecStart=/usr/bin/dockerd --insecure-registry 192.168.17.138:5000

systemctl daemon-reload

systemctl restart docker.service

scp /usr/lib/systemd/system/docker.service [email protected]:/usr/lib/systemd/system/docker.service  ——将docker的主配置文件发送到其他的两个节点上

scp /usr/lib/systemd/system/docker.service [email protected]:/usr/lib/systemd/system/docker.service

docker pull httpd    ——下载一个httpd镜像

docker tag httpd 192.168.43.214:5000/httpd   ——给httpd镜像打包

docker push 192.168.43.214:5000/httpd    ——上传至私有仓库

docker search visualizer    ——查看visualizer有哪些版本

docker pull dockersamples/visualizer   ——下载版本

docker network create -d overlay ov_net1   ——创建一个overlay网络

docker network ls   ——查看网卡

docker tag  dockersamples/visualizer 192.168.43.214:5000/visualizer  ——打包dockersamples/visualizer镜像

docker push 192.168.43.214:5000/visualizer  ——上传至私有仓库

docker run -itd -p 8888:8080 -e HOST=192.168.43.214 -e PORT=8080 -v /var/run/docker.sock:/var/run/docker.sock --name visualizer 192.168.43.214:5000/visualizer

http://192.168.43.214:8888/   ——就可以看到视图了

docker service create --replicas 1 --network ov_net1 --name web1 -p 8000:80 -p 10122:22 192.168.43.214:5000/httpd   ——复制一份httpd镜像

docker service create --replicas 2 --network ov_net1 --name web2 -p 8001:80 -p 10123:22 192.168.43.214:5000/httpd   ——复制2份httpd镜像

docker service create --mode global --network ov_net1 --name web3 -p 8002:80 -p 10124:22 192.168.43.214:5000/httpd   ——全局创建镜像

docker exec -it web2.1.z4bpp1lpttvn11kfvac68fd6s sh  ——进入某一个容器

docker service rm  镜像名字 //删除全局创建的

原文地址:https://www.cnblogs.com/guarderming/p/9455810.html

时间: 2024-10-19 18:08:51

docker集群的相关文章

Docker 集群环境实现方式

Docker 集群环境实现的新方式 近几年来,Docker 作为一个开源的应用容器引擎,深受广大开发者的欢迎.随着 Docker 生态圈的不断建设,应用领域越来越广.云计算,大数据,移动技术的快速发展,加之企业业务需求的不断变化,紧随技术更新的步伐,导致企业架构要随时更改以适合业务需求.当前,越来越多的公司都已将以 Docker 为代表的容器技术用于企业级业务平台,比如:腾讯,京东,美团,新浪,阿里巴巴等互联网公司.数据的安全.Docker 容器的稳定运行是众多用户关注的,这就要求我们提供一套行

Docker 集群环境实现的新方式

近几年来,Docker 作为一个开源的应用容器引擎,深受广大开发者的欢迎.随着 Docker 生态圈的不断建设,应用领域越来越广.云计算,大数据,移动技术的快速发展,加之企业业务需求的不断变化,紧随技术更新的步伐,导致企业架构要随时更改以适合业务需求.当前,越来越多的公司都已将以 Docker 为代表的容器技术用于企业级业务平台,比如:腾讯,京东,美团,新浪,阿里巴巴等互联网公司.数据的安全.Docker 容器的稳定运行是众多用户关注的,这就要求我们提供一套行之有效的管理大型容器集群的整体解决方

Docker集群(一) —— Docker网络及flannel介绍

[摘要]本文介绍docker网络原理和设置,以及在docker集群中需要解决的问题.最后介绍flannel在解决docker网络问题中的作用. 1   基础 在介绍docker的网络之前,必须先认识docker所依赖的几个linux技术,这对理解docker的网络有帮助.因水平有限这一节仅简单介绍,对linux网络原理感兴趣的TX可以继续深入研究. 1.1 网络命名空间: Linux Namespaces机制提供一种资源隔离方案.PID,IPC,Network等系统资源不再是全局性的,而是属于特

Docker集群(三) —— Kubernetes 简单入门

[摘要]Kubernetes是Google开源的Docker容器集群管理系统,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等整一套功能.本文介绍了kubernetes的重要概念,并通过实例的示例解释了如何应用kubernetes管理docker集群. 因操作系统不同.应用场景不同kubernetes的使用方法有不同,本文只介绍其中一种笔者实践过的切实可行的方法,旨在使读者快速了解Kubernetes,对其有直观的感受.本文以单机版举例,下面的例子都在同一台物理结点上执行,多结点的情况

05 Docker集群/基础设施 - DevOps之路

05 Docker集群/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi Docker的集群目前主流的方案: Swarm Kubernetes Docker Swarm 集群 是用Swarm集群来部署一个无状态的服务: 目前有三台物理机node01.node02.node03,在node01上初始化Swarm: docker swarm init --advertise-addr 192.168.0

k8s docker集群搭建

?Kubernetes介绍 1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境 2.什么是kubernetes 首先,他是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性

Elk+filebeat收集docker集群swarm中的nginx和tomcat容器的日志信息

前言: 之前有说过elk收集nginx日志, 现在来说一下收集容器集群的日志收集Elk的安装这里不在说了,上来直接怼, 这里是elk的服务器:的服务状态:以及端口 Logstash是主要的配置内容这里: 如下 input { beats { port => 5044 } } filter { if "nginx-accesslog" in [tags] { grok { match => { "message" => "%{HTTPDAT

Docker集群下,如何用Flannel实现容器互联

当您将多台服务器节点组成一个Docker集群时,需要对集群网络进行设置,否则默认情况下,无法跨主机容器互联,接下来我们首先分析一下原因. 跨主机容器互联 下图描述了一个简单的集群网络,在该集群内,有两台服务器甲和乙,每台服务器上都有两张网卡,分别连接公网和私网,两台服务器可以通过私网互联,在两个服务器节点上分别安装了Docker,并且运行了A/B/C/D 4个容器. 每台服务器节点上都有一个 docker0 网桥,这是docker启动后初始化的虚拟设备,每个容器都与docker0网桥连接,并且,

Swarm实现Docker集群的搭建和管理。

1.Swarm是一个由Docker开发的调度框架. (图网上找的) 2.负载均衡: Docker称之为入口负载均衡(ingress load balancing).它的工作方式是,所有worker节点都监听在发布的服务端口上.当该服务被外部系统调用时,收到流量的节点会通过Docker提供的内部DNS服务,将流量负载均衡不同的worker上. (图网上找的) 3.docker集群搭建. (1).时间同步:yum install –y ntpdatentpdate us.pool.ntp.org (