摘要:的理念为基本概念提供给用户的客户端。服务的守护进程。它们简化了从头到尾的流程并极大的简化了部署工作。是官方提供的一款集群管理工具,其主要作用是把若干台主机抽象为一个整体,并且通过一个入口统一管理这些主机上的各种资源。
1. Docker简介:
docker是一个基于LXC的高级容器引擎。简单地说,docker是一个轻量级的虚拟解决方案,或者说它是一个超轻量级的虚拟机(容器)。
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。
Docker 的理念为“Build, Ship and Run Any App, Anywhere”
基本概念
Docker Client:Docker提供给用户的客户端。
Docker Daemon:Docker服务的守护进程。
Docker Images:Docker的镜像,一张 “只读” 的系统CD。
Docker Container:Docker的容器,Docker Images运行实例。
Docker Registry : Docker Images的仓库,Dock Hub。
架构
AUFS联合文件系统
AUFS 是一种 Union File System(联合文件系统),又叫 Another UnionFS,后来叫Alternative UnionFS,再后来叫成高大上的 Advance UnionFS。所谓 UnionFS,就是把不同物理位置的目录合并mount到同一个目录中。UnionFS的一个最主要的应用是,把一张CD/DVD和一个硬盘目录给联合 mount在一起,然后,你就可以对这个只读的CD/DVD上的文件进行修改(当然,修改的文件存于硬盘上的目录里)
LXC
LXC 就是 Linux Container。 LXC 也是一种轻量的虚拟技术,Linux 原生支持的容器。可以说 docker 就是基于 LXC 发展起来的,提供 LXC 的高级封装,发展标准的配置方法。
LXC可以在操作系统层次上为进程提供的虚拟的执行环境,一个虚拟的执行环境就是一个容器。可以为容器绑定特定的cpu和memory节点,分配特定比例的cpu时间、IO时间,限制可以使用的内存大小(包括内存和是swap空间),提供device访问控制,提供独立的namespace(网络、pid、ipc、mnt、uts),主要使用了cgroup技术。
CGroup是Control Groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组所使用的硬件资源的机制。
与虚拟机对比
2. Docker安装brew cask install docker 或到官网下载 https://store.docker.com/editions/community/docker-ce-desktop-mac3. Docker使用
基本命令
查询docker版本: docker version
查看docker环境信息:docker info
列出所有镜像:docker images
列出运行状态的容器实例:docker ps
从远程摘取docker镜像:docker pull [镜像名:版本号/tag]
提交docker修改内容:docker commit [containerId] tag
交互模式启动容器:docker run -it -p 8080:8080 -v /usr/local:/var/jenkins_home --name jenkins jenkins:latest
后台模式启动容器:docker run -d -p 8080:8080 -v /usr/local:/var/jenkins_home --name jenkins jenkins:latest
查看容器日志:docker logs [containerId]
连接到docker容器终端上:docker attach [containerId]
查看容器或镜像详细信息:docker inspect [containerId/imageId]
在容器上执行命令:docker exec [containerId] COMMAND [ARG...]
4. DockerfileDockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾的流程并极大的简化了部署工作。Dockerfile从FROM命令开始,紧接着跟随者各种方法,命令和参数。其产出为一个新的可以用于创建容器的镜像
5. 容器编排 DockerCompseCompose是用于定义和运行复杂Docker应用的工具。你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成。
DockerSwarmSwarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。
KubernetesKubernetes(通常写成“k8s”)是最开始由google设计开发最后贡献给Cloud Native Computing Foundation的开源容器集群管理项目。它的设计目标是在主机集群之间提供一个能够自动化部署、可拓展、应用容器可运营的平台。Kubernetes通常结合docker容器工具工作,并且整合多个运行着docker容器的主机集群。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27487.html
摘要:初识是什么是一个开源的应用容器引擎,基于语言并遵从协议开源。容器是完全使用沙箱机制,相互之间不会有任何接口更重要的是容器性能开销极低。命令为,如下由此可知,我们新打包的镜像的为。登录账号再输入自己的账号密码即可。 初识Docker Docker是什么? Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的...
摘要:至于很具体的操作指令,比如怎么安装,怎么和来跑一个简单的,请参考官方文档部分的或者也可参考文末的一些参考资料参考资料官方文档入门教程系列简明教程使用演示中文系列资源从入门到实践作者更多文章个人网站 docker入门概览 标签 : docker [TOC] 本文对docker进行大致介绍,包括概述,安装,简单使用,架构,基本原理等方面 写在前面 本文是自己学习docker的一个记录...
摘要:入门系列之一在一个容器里运行指定的应用入门系列之二使用制作包含指定应用的镜像本文我们会介绍如何将这个本地制作好的镜像发布到,让全世界其他爱好者能够使用您的镜像。首先您得在上注册一个帐号然后创建一个新的,用于存放镜像。 这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像。 Docker入门系列之一:在一...
摘要:从命名上就知道这是一篇简单粗暴的新手入门教程,为什么要简单粗暴我认为有自学能力的人帮他入门就够了,不能自学的一时半会儿也教不会,不符合入门教程的初衷,建议出门左拐去找找视频教程本章目标大概了解是个什么玩意知道常用的指令参数能启动一个容器不然 从命名上就知道这是一篇简单粗暴的docker新手入门教程, 为什么要简单粗暴? 我认为有自学能力的人帮他入门就够了, 不能自学的一时半会儿也教不会...
摘要:前言其实接触也有一段时间了,但是一直没有做下总结,现在网上关于的介绍也有很多了,本着好记性不如烂笔头的原则,还是自己再记录一波吧。实现目标安装探索基本概念及用法环境准备位,内核版本不低于安装以下命令均需在权限下执行。 showImg(https://segmentfault.com/img/remote/1460000017894270?w=538&h=344); 前言 其实接触 do...
摘要:原文地址零基础入门指南一介绍简介源代码托管在上,公司开源的一个基于技术之上构建的容器引擎,基于语言并遵从协议开源。通过等实现内核虚拟化技术,并提供容器的资源隔离与安全保障等。 原文地址:Docker零基础入门指南(一):Docker介绍 Docker简介 Docker源代码托管在 GitHub上,Docker 公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go...
阅读 2565·2021-11-18 10:02
阅读 2585·2021-11-15 11:38
阅读 3668·2021-11-12 10:36
阅读 672·2021-11-12 10:34
阅读 2871·2021-10-21 09:38
阅读 1425·2021-09-29 09:48
阅读 1452·2021-09-29 09:34
阅读 1064·2021-09-22 10:02