我们上次对docker swarm的使用,docker swarm的重要概念节点(管理节点,工作节点),管理节点会把任务下发到工作节点上面去,服务一组任务的节点的结合。 任务就是一个实例,一个实例里面包含一个容器,之前都是通过命令行来操作docker的。有没有图形化的界面来管理我们的docker呢?实际上是有的。 ? 功能十分全面,基本能满足中小型单位对容器管理的全部需求。可以轻松的管理docker主机和集群。 Cadvisor使用Go语言开发,利用Linux的cgroups获取容器的资源使用信息,在K8S中集成在Kubelet里作为默认启动项,官方标配。 ,在后面学习k8s的时候都会经常的使用这个cAdvisor。
一.介绍 和之前介绍的Crane不同,来自好雨云(GoodRain)的云帮(CloudHelp目前已改名RainBond)是基于K8S的,说实话,感觉比Crane的开源态度更好点,看得出来是认真在弄的。 A: 中小企业CI/CD平台,生产环境的应用管理平台。云帮不是拉近开发和运维的距离,而是让开发和运维做他们本来应该做的事情。开发对程序和业务负责,运维对资源负责,云帮作为开发和运维的助手。 可维护性:云帮基础技术单元是Docker,服务编排和调度使用kubernetes,这两款软件是目前关注度最高的开源项目,文档和技术社区都非常成熟。 云帮的其他模块我们都采用Docker镜像的方式进行打包,利用kubernetes内部的高可用机制保证高可用。 不说其他的,但是可以看出云帮是会持续维护的,起码不会突然凉凉,不是为了开源而开源的玩具,所以如果需要一个基于K8s的管理平台,云帮或许也是个选择。
个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。
9 docker 网络管理 9.1 默认网络 1、查看docker网络: docker network ls Docker中默认的三种网络分别为bridge、host和none,其中名为bridge的网络就是默认 network inspect bridge 9.2 自定义网络 虽然 Docker提供的默认网络的使用比较简单,但是为了保证各容器中应用的安全性,在 实际开发中更推荐使用自定义的网络进行容器管理。 需要说明的是,这种用户自 定义的基于bridge驱动的网络对于单主机的小型网络环境管理是一个不错的选择,但 是对于大型的网络环境管理(如集群)就需要考虑使用自定义overlay集群网络。 通过docker inspect nwtest指令可以查看启动后的容器详情,来核查 其网络管理方式. 3、docker network connect bridge nwtest 会为容器nwtest另添加一种默认的 bridge网络管理方式。
docker 概念:它是容器引擎。 容器是镜像的实例,是镜像运行在docker上的程序 docker command 官方docker command docker run 运行容器 docker build 打包镜像 docker pull 拉起远程镜像 docker push 把镜像推送到远程仓库 k8s 官方文档 概念:k8s是一套容器编排系统。 功能:自动回滚升级,服务发现,自动扩容,密码配置管理,存储架构,自我检查 kubectl k8s的client master 组件: kube-apiserver api服务器 etcd k8s存储 kube-sheduler k8s调度 kube-controller-manager 资源管理 cloud-controller-manager 云控制管理器 node 组件: kubelet 管理container runtime
每个集群有多个节点,每个节点可运行多个容器,我们的kuberbete就是管理这些应用程序所在的小运行环境(container)而生。 在容器技术之前,业界的网红是虚拟机。 k8s是一个容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。 开发实践,灵魂追问 (1)没有 k8s 可以使用 docker 吗? 可以。实际上一些小型公司,在业务不太复杂的情况下都是直接使用 Docker。 尽管 k8s有很多好处,但是众所周知它非常复杂,业务比较简单可以放弃使用 k8s。 (2)没有 Docker 可以使用 k8s 吗? k8s 只是一个容器编排器,没有容器拿什么编排?! k8s 经常与 Docker 进行搭配使用,但是也可以使用其他容器,如RunC、Containerted等。
一、docker镜像管理 1.1、镜像搜索-search 从docker镜像仓库模糊搜索镜像 用法: docker search 镜像关键字 [root@zutuanxue ~]# docker search 指定的仓库下载镜像到本地 用法: docker pull 镜像名称 [root@zutuanxue ~]# docker pull centos Using default tag: latest :latest信息 用法: docker inspect [镜像名称或者ID] [root@zutuanxue ~]# docker inspect 0f3e07c0138f [ { [镜像名称或者ID] [root@zutuanxue ~]# docker load -i centos_base.tar Loaded image: centos:latest 1.8、镜像管理命令 -image命令 镜像管理命令,和上面的命令相似 [root@zutuanxue ~]# docker image --help Usage: docker image COMMAND Manage images
一、docker容器管理 1.1 容器查看-ps命令 显示本地容器列表,但是默认不显示关闭的容器,只显示运行中的容器,除非加上命令选项 -a 用法: docker ps [-a 显示所有容器,默认只显示运行的 、容器启动-start命令 启动一个容器 用法: docker start [容器名称或者ID] [root@zutuanxue ~]# docker start centos7_6 centos7_ _6 centos7_6 1.10、容器挂起-pause命令 挂起运行中的容器 用法: docker pause [容器名称或者ID] [root@zutuanxue ~]# docker pause 命令 显示容器与宿主机的端口隐射信息 用法: docker port [容器名称或者ID] [root@zutuanxue ~]# docker port 32fd02f05446 5000/tcp ID] [root@zutuanxue ~]# docker kill centos76 centos76 1.15、容器导出-export命令 将一个容器导出一个镜像为压缩文件 用法: docker
Docker Docker网络 –link 自定义网络 网络连通 Docker网络 Docker是如何进行网络通讯的? 查看本机的网卡和ip地址 docker0类似与路由器ip地址一样(x.x.x.1) Docker docker run -d -P --name=tomcat03 tomcat:8.0 查看容器 容器都能够ping通 docker之间也能互相ping通 我们只要安装了Docker,就会有一个网卡Docker0(x.x.x.1) 我们每启动一个容器.Docker都会为这个容器分配一个ip地址 容器 网络 可以看到Docker桥接的网络网段 没分配一个容器就多一个配置项 自定义网络 docker network ls #查看所有docker网络 网络模式 bridge : 桥接 mynet #--driver bridge 桥接 #--subnet 子网 #--gateway 网关 docker network ls docker network inspect mynet
容器的基础.通过版本管理和增量的文件系统,Docker提供了一套十分简单的机制来创建和更新现有的镜像,用户甚至可以从网上下载一个已经做好的应用镜像,并直接使用. 仓库(repository): Docker仓库类似于代码仓库,它是Docker集中存放镜像文件的场所.根据所存储的镜像公开分享与否,Docker仓库可以分为公开仓库(Public)和私有仓库(Private 管理Docker镜像 镜像是Docker三大核心概念中最为重要的,自Docker诞生之日起,镜像就是相关社区最为热门的关键词,Docker运行容器前需要本地存在对应的镜像,如果镜像没保存在本地,Docker 下面例子将围绕镜像这一核心概念的具体操作,包括如何使用pull命令从Docker Hub仓库中下载镜像到本地,如何查看本地已有的镜像信息和管理镜像标签,如何在远端仓库使用search命令进行搜索和过滤, 镜像ID > /root/*.tar #镜像的导出 [root@localhost ~]# docker load < /root/*.tar #镜像的导入 管理Docker容器 容器是
什么是docker,docker部署的原理 什么是nginx 我们要做哪些事情 将vue前端项目打包到云服务器 将springboot后端项目(主网页,下面称为app)(后台管理系统,下面称为admin docker的更加具体的知识,咱们可以参考这篇文章:https://blog.csdn.net/weixin_46628200/article/details/106668209 开始安装 首先进入我们的云服务器管理面板 ②反向代理服务器,这里nginx代理的就是前端资源客户端本来可以直接通过HTTP协议访问某网站应用服务器,网站管理员可以在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端 参考一 参考二 还有个问题,大家可能会问后台管理部署为什么没有? 大家仔细看下后台管理,它只能说是一个SpringSecurity的案例而已,根本没有起到后台管理的作用…虽然部署完了,但是没什么意义。
Docker镜像管理 docker pull centos//可以下载centos镜像,速度很慢 配置docker加速器,参考链接 vi /etc/docker/daemon.json//加入如下内容 服务,再次docker pull centos会快很多 docker images 查看本地的镜像 docker search xxx //搜索镜像,其中xxx是关键词 docker tag centos docker ps //查看运行的容器,加上-a选项后可以查看所有容器,包括未运行的 docker rmi centos //用来删除指定镜像, 其中后面的参数可以是tag,如果是tag时,实际上是删除该 当后面的参数为镜像ID时,则会彻底删除整个镜像,所有标签也会一同删除 Docker镜像管理 镜像的概念,镜像就类似于安装系统的iso文件 下载docker镜像,去docker官方下载,比如拉去一个centos [root@106 ~]# docker pull centos
Docker 仓库管理 仓库(Repository)是集中存放镜像的地方。以下介绍一下 Docker Hub。当然不止 docker hub,只是远程的服务商不一样,操作都是一样的。 Docker Hub 目前 Docker 官方维护了一个公共仓库 Docker Hub。 大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。 $ docker login 退出 退出 docker hub 可以使用以下命令: $ docker logout 拉取镜像 你可以通过 docker search 命令来查找官方仓库中的镜像,并利用 以 ubuntu 为关键词进行搜索: $ docker search ubuntu 使用 docker pull 将官方 ubuntu 镜像下载到本地: $ docker pull ubuntu 推送镜像 用户登录后,可以通过 docker push 命令将自己的镜像推送到 Docker Hub。
日志管理 ? image.png docker logs -f xxx logging driver docker info|grep "Logging Driver" ? image.png 在docker的配置文件中指定log driver --log-driver=syslog ELK+docker+Filebeat ? image.png 用容器搭建ELK ?
项目文件镜像到docker仓库 在docker运行java(jar包)程序,就要把程序打包成docker镜像,可以先理解为镜像就是jar包 ; 使用Dockerfile将程序打包成镜像 容器、仓库、镜像运行关系图: 在本地开发完成后,把应用程序打包成 Docker镜像 ,随后我们将一起一步步将应用部署到k8s集群。 Kubernetes如何部署项目 在docker的时候,我们通过docker镜像生成容器运行,k8s也一样,把镜像生成容器运行,但是k8s并不直接使用docker容器,而是使用pod,Pod 可以理解是一组容器 ,是k8s最小的调度单位。 在k8s上创建一个pod资源对象来运行我们的项目。 在k8s中,我们不会单独创建一个pod资源对象,而是创建Deployment对象,通过Deployment来管理pod。
k8s和 docker的区别是:docker是一种开放源码应用容器引擎,开发人员可以将其应用打包,发布到流行的 liunx系统或实现虚拟化。 1.k8s是一种开放源码的容器集群管理系统,可实现自动化部署、扩展容量、维护等容器集群功能。 容器集群管理系统以 kubernetes为代表,使用 kubernetes来管理 Docker集群,也就是说, Docker可以被看作是 Kubernetes内部使用的低级组件。 此外, kubernetes不仅支持 Docker,也支持 Rocket,这是另一种容器技术。 3.而且 Docker容器中的应用程序进程直接运行在宿主机(真实的物理机)的内核上, Docker引擎将一些各自独立的应用程序打包,它们各自独立地独立地运行于未虚拟化的宿主硬件上,同时每个容器都没有自己的内核
在 Docker 里提供了三种方法来实现目录的挂载: volumes: 属于 Docker 管理的目录,无需自己创建目录。 本地镜像管理:images、rmi、tag、build、history 例如,当我们需要运行一个容器时,则可以执行: docker run nginx:test 6. k8s 是什么,特点? k8s 是一个容器管理平台,负责容器的编排、管理、调度, 支持故障转移/重启、自动扩缩容、服务发现/负载均衡、配置管理等功能,使得应用服务能从打包到部署再到监控能有一条完整的自动化流程。 Pod k8s 使用 Pod 来管理容器,一个 Pod 可以包含一个或多个容器。 为了管理 Pod,每个 Node 节点上至少要运行 container runtime(比如 docker 或者 rkt)、kubelet 和 kube-proxy 服务。
本文介绍基于Jenkins + github + k8s + springboot构建docker服务。 $ service docker start 安装registry $ docker pull registry$ mkdir -p /data/docker/registry$ docker run 以持久化方式运行myql 在k8s-master节点创建相关文件 $ mkdir -p /home/k8s/yml/services/mysql$ cd /home/k8s/yml/services/ github上 * 任务名称:springboottest* 任务类型:自由风格* 创建github访问CredentialCredential类型:username with password* 源码管理 :$tag .docker push $docker_name:$tag* 创建ssh server系统管理-〉系统设置菜单-〉publish over ssh* 增加构建后操作,Send build
有了Docker,为啥还需要额外容器管理工具 这一点非常容易理解。我们可以将容器与虚拟机对比来看。 在 Docker的世界里,编排用来描述一组实践过程,这个过程会管理运行在多个Docker容器里的应用,而这些Docker容器有可能运行在多个宿主机上。 Docker三剑客 Docker三剑客是Docker管理中最基本的三个工具。严格意义上,这三个工具并非都是编排工具。但是由于这三个工具非常出名,因此在这里统一介绍。 其基本功能包括: 在指定节点上安装Docker引擎,配置其为Docker主机; 集中管理所有Docker主机。 Machine,使用docker-machine命令来创建和管理大量的Docker hosts。
为什么需要容器的网络管理? 同样的,不同需求下,容器与宿主机的通信有不同的业务状态这时候就需要容器网络管理以达成管理不同业务下相关的网络配置。 Docker中的网络驱动模式有那些? 网络管理命令浅析 查看网络(docker network ls) 命令格式: docker network ls [参数] 常用参数: -q 只显示网络对象的ID 注意: docker安装之后,会自动创建 Docker网络模式简介 bridge网络模式 bridge网络模式的特点: 宿主机上需要单独的bridge网卡,如默认docker默认创建的docker0。 的网络管理的内容,其中host,bridge,container是主要的复习内容,且在三种网络模式中建议优先选用host网络模式,其使用性能最优。
腾讯云容器服务(Tencent Kubernetes Engine ,TKE)基于原生kubernetes提供以容器为核心的、高度可扩展的高性能容器管理服务。腾讯云容器服务完全兼容原生 kubernetes API ,扩展了腾讯云的云硬盘、负载均衡等 kubernetes 插件,为容器化的应用提供高效部署、资源调度、服务发现和动态伸缩等一系列完整功能,解决用户开发、测试及运维过程的环境一致性问题,提高了大规模容器集群管理的便捷性,帮助用户降低成本,提高效率。容器服务提供免费使用,涉及的其他云产品另外单独计费。
扫码关注腾讯云开发者
领取腾讯云代金券