Docker Swarm

Docker 命令总结

﹥>﹥吖頭↗ 提交于 2020-08-04 12:05:17
一、Docker的基础命令 [root@node02 ~]# docker volume prune -f #删除无主的数据卷 #在运行容器时,-v挂载目录时没有指定本地要挂载的目录,而是由docker管理的, #当容器删除后,这些目录并不会被删除,此时这种目录就是无主数据卷。 #若要在删除容器时,同时删除这些数据卷,可以使用以下命令(添加“-v”选项即可): [root@node02 ~]# docker rm -f -v 8086 #其中8086为容器ID [root@master volumes]# docker container prune -f #清理掉所有处于终止状态的容器。 [root@localhost ~]# docker search dhcp #以DHCP作为关键字进行搜索镜像 [root@localhost ~]# docker pull docker.io/networkboot/dhcpd #下载查询出来的某个镜像 [root@localhost ~]# docker images #查询下载的镜像 [root@localhost ~]# docker tag docker.io/networkboot/dhcpd dchp:dhcp #改新名称及标签 [root@localhost ~]# docker rmi docker.io

[Docker] 02 Docker三剑客简介

孤街醉人 提交于 2020-05-05 00:45:35
前言 DOCKER技术在推出后掀起了一阵容器化技术的热潮,容器化使得服务的部署变得极其简易,这为微服务和分布式计算提供了很大的便利。 为了把容器化技术的优点发挥到极致,docker公司先后推出了三大技术: docke r-ma chine , do cker-compos e , docker-swarm , 可以说是几乎实现了容器化技术中所有可能需要的底层技术手段。 在使用go语言实现了判题引擎并打包好docker镜像后,就需要进行分布式判题的编写,这次就让我们手动实践,尝试使用docker的三大杀器来部署一个多机器构成的判题服务集群。 三剑客简介 # docker-machine docker技术是基于Linux内核的 cgroup 技术实现的,那么问题来了,在非Linux平台上是否就不能使用docker技术了呢?答案是可以的,不过显然需要借助虚拟机去模拟出Linux环境来。 docker-machine就是docker公司官方提出的, 用于在各种平台上快速创建具有docker服务的虚拟机的技术 ,甚至可以通过指定driver来定制虚拟机的实现原理(一般是virtualbox)。 # docker-compose docker镜像在创建之后,往往需要自己手动pull来获取镜像,然后执行run命令来运行。当服务需要用到多种容器,容器之间又产生了各种依赖和连接的时候

Docker,Docker Compose,Docker Swarm,Kubernetes之间的区别

坚强是说给别人听的谎言 提交于 2020-05-04 02:20:36
最近在学习Docker容器,了解到一些相关的技术,像是Kubernetes,Docker-compose,Docker Swarm,分不清这些东西之间的区别,特意去研究了一下,分享一下,适合刚入门学习容器的同学了解。 Dcoker Docker 这个东西所扮演的角色,容易理解,它是一个容器引擎,也就是说实际上我们的容器最终是由Docker创建,运行在Docker中,其他相关的容器技术都是以Docker为基础,它是我们使用其他容器技术的核心。 Docker-Compose Docker-Compose 是用来管理你的容器的,有点像一个容器的管家,想象一下当你的Docker中有成百上千的容器需要启动,如果一个一个的启动那得多费时间。有了Docker-Compose你只需要编写一个文件,在这个文件里面声明好要启动的容器,配置一些参数,执行一下这个文件,Docker就会按照你声明的配置去把所有的容器启动起来,但是Docker-Compose只能管理当前主机上的Docker,也就是说不能去启动其他主机上的Docker容器 Docker Swarm Docker Swarm 是一款用来管理多主机上的Docker容器的工具,可以负责帮你启动容器,监控容器状态,如果容器的状态不正常它会帮你重新帮你启动一个新的容器,来提供服务,同时也提供服务之间的负载均衡,而这些东西Docker-Compose

Kubernetes容器编排技术浅析

最后都变了- 提交于 2020-04-27 10:51:42
出现的背景 kubernetes是一个容器编排开源软件,它可以轻松高效管理由千上万的主机组成的集群,并提供容器部署运行的环境。 kubernetes最初由Google开发和设计,前身是Borg系统,Google有成千上万的容器运行在上面,主要帮忙Google实现简化开发和管理,并且提供基础设施的资源利用率。再内部稳定运行Borg数十年之久后,随着容器化的大流行,2014年Google开源了kubernetes,一个基于Borg和其它内部系统的开源系统。2015年,Google将kubernetes项目捐赠给了CNCF(云原生计算基金会)。 优势和劣势 优势 1,kubernetes基于Google内部的Borg系统实现,有着长达数十年之久的稳定大规模运行实践经验。 2,Kubernetes提供的是一个平台,不是解决方案,实现容器化应用程序的一次编写并在各类型云基础设施上运行,它将公有云与私有云之间存在的复杂的基础设施差异抽象化掉了。 3,社区活跃多极高,在所有竞争对手中遥遥领先 1,安装部署比较麻烦 2,只能用于容器的编排管理 适用场景 帮助开发聚焦核心应用功能 kubernetes可以被认为是一个集群的操作系统,它提供了注入服务发现,扩容,负载均衡,自恢复,选举等功能,使开发者不用关心基础设施相关的服务而可以把心思都集中再应用实现本身。 帮助运维提升资源利用率

Docker系列之.NET Core入门(三)

别来无恙 提交于 2020-04-24 16:59:13
前言 在Docker生态系统中除了上一节所讲解的基本概念,还有其他专业术语,本文我们将一笔带过,同时会开始陆续进入到在.NET Core中使用Docker。 专业术语 Docker Engine(Docker引擎):客户端 - 服务器应用程序。 Docker公司将Docker Engine分为两个产品。 Docker Community Edition(CE)基于开源工具且免费,我们学习时可以使用这款产品。 Docker Enterprise附带了其他功能支持,比如管理和安全等等功能。 Docker Client(Docker客户端):我们与Docker进行交互的主要方式。 使用Docker命令行界面(CLI)时,在终端中键入以docker开头的命令,Docker Client会使用Docker API将命令发送到Docker守护进程中。 Docker Daemon(Docker守护进程):监听Docker API请求的Docker服务器。 Docker守护进程主要管理镜像,容器,网络和卷。 Docker Volumes(Docker卷):存储创建应用程序和运行应用程序持久化数据的最佳方式。 Docker Registry:存储Docker镜像的远程注册位置。 我们将镜像推送到注册表并从注册表中提取图像,我们可以托管自己的注册表或使用供应商商的注册表。 Docker Hub

使用GUI工具Portainer.io管控Docker容器

血红的双手。 提交于 2020-04-17 08:27:57
【推荐阅读】微服务还能火多久?>>> 原文: 使用GUI工具Portainer.io管控Docker容器 背景 5年前容器技术扑面而来,如今已经成为面向云原生开发的基础架构,基于微服务的设计需要部署大量容器,同时强调了友好快速的管理容器。 是时候推荐一个轮子Portainer.io: 提供GUI界面的容器管理工具 ,给开发者的工具箱又增加了一个炫酷又实用的瑞士军刀。 Portainer.io的优势 轻量级 (2,3个命令就可启动,镜像少于30M) 健壮、 友好 可以用于Docker监控和构建 提供Docker环境的详细信息 可在界面管理 Container、Image、Network、Volume、Config Portainer.io特性 漂亮的Dashboard,很容器操作和监视 许多内置的操作模板 尽乎实时的 监视Container、Image... 支持Docker-Swarm 集群监视 安装Portaniner.io 为Porttainer.io 创建Volume sudo docker volume create portainer_data 启动portainer容器,配置在宿主机9000端口映射 sudo docker run -d -p 9000 : 9000 -v /var/ run /docker.sock:/ var /run/ docker.sock -v

Docker Swarm集群初探

百般思念 提交于 2020-04-07 05:54:21
前言 相信Docker技术大家都有所了解,单个Docker能发挥的作用毕竟有限,也不便于管理,所以Docker得组集群来使用才能发挥强大的技术优势。既然要组集群那就涉及诸如Docker的资源调度、管理等等一系列问题。目前涉及Docker集群的三个主要的技术无外乎Swarm、 Kubernetes 、Mesos三种。从本文开始作者将会一一实践这几种主要的Docker集群技术,话不多说,现在开始。 注意: 作者的kubernetes相关实践在此 注: 本文首发于 My 公众号 CodeSheep ,可 长按 或 扫描 下面的 小心心 来订阅 ↓ ↓ ↓ 环境准备 Mac OS X 10.13.2 Docker 17.09.1-ce-mac42 (21090) virtualbox(虚拟集群中节点时需要) boot2docker v1.8.0(在虚拟节点中起docker环境时需要) 环境搭建 节点规划如下: 我们需要4个节点(1个master + 3个slave),由于没有真实地4台物理机,所以下文中是靠 docker-machine 、 virtualbox 以及 boot2docker 来虚拟出4个独立IP地址的带docker环境的节点,大家注意! 环境安装: Docker环境安装: Tips : 以前Mac上一般是使用 boot2docker 这个专门为OS X上运行 Docker

docker swarm auto scale

梦想与她 提交于 2020-04-06 19:48:45
1. 主旨介绍 使用mac和fusion vm两台主机搭建一个小的docker集群, 采用docker swarm方式搭建. Swarm基本概念: manager:用来管理swarm服务 node: docker enginer节点, 通过manager可以在node上操作, manager本身也是node worker: 非管理的node, 一般是实际部署和运行container的docker节点 目的是是探索使用swarm完成动态伸缩的可行性. 2. 操作步骤 swarm init(vm中操作,因为docker for mac有网络问题 manager) docker swarm init --advertise-addr 192.168.132.148 Swarm initialized: current node (b1uem2hg4y2ojnauvre3x2rdw) is now a manager. To add a worker to this swarm, run the following command: docker swarm join --token SWMTKN-1-1snrbxsenp4v1npcusox9l3n9jzsa4n8jbkvlhjc19e3z89c8a-7vfrbr1o1e1sr2g2r6f97xhne 192.168.132.148

docker探索-swarm搭建docker集群

倾然丶 夕夏残阳落幕 提交于 2020-04-06 17:33:48
原文出处: http://www.cnblogs.com/520playboy/p/7873903.html 前言 Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令,docker swarm是创建服务器集群的工具,只需要几条命令就可以创建一个服务器集群。它内置一些服务器集群需要的工具,比如说:服务查找,网络,负载均衡等等 一、环境 centos 7.3 Docker version 1.12.6 ip 角色 192.168.6.130 manager 192.168.6.131 worker 192.168.6.132 worker 二、集群 2.1、在192.168.6.130中,初始化集群 [root@jacky jacky]# docker swarm init --advertise-addr 192.168.6.130:2377 Swarm initialized: current node (4devzwb6rpimfpteqr17h2jx9) is now a manager. To add a worker to this swarm, run the following command: docker swarm join \ -

docker swarm 集群搭建

北城以北 提交于 2020-03-01 13:16:14
准备好多台已经安装好docker的机器,没有安装好docker的可以参考我的另一篇关于docker安装文档 https://my.oschina.net/qbj/blog/3077245 1. 选择manager节点,并创建集群 随便选择一台机器作为manager节点,在机器上运行: docker swarm init --advertise-addr 当前机器的IP地址 运行完毕之后,出现如下情况代表成功,并复制红色区域中的命令留有待用: 注:红色区域中的token是集群唯一标识,后续的其它节点机器,都需要通过红色区域中的命令来加入当前集群。 2. 添加集群节点 复制上一步骤中的红色区域中的内容在其它节点机器上执行,运行成功会提示如下信息: This node joined a swarm as a worker. 所有节点加入完毕之后,可以在主节点上运行如下命令查看节点情况: docker node ls 4. 部署Portainer Portainer 为你的docker swarm集群以及docker服务提供了可视化管理。可以管理docker的堆栈,docker的网络,docker服务,docker镜像,docker容器等等,一切靠命令方式执行的都可以去通过Portainer去在界面上去操作管理。 a. 准备docker-stack-manager.yml配置文件