Docker入门第一章
Docker为什么出现?
一款产品:开发到上线 两套环境!应用环境,应用配置!
可能在开发环境你的产品是正常的,但是到了线上环境你的产品可能就会出现各种原因,或许是因为环境的不同,也可能是因为配置的不同等等各种原因导致服务的不可用!对于运维来说,考验就非常大。
环境配置是十分的麻烦,每一个机器都要部署环境(集群Redis、ES、Hadoop等等)!费时费力。
现在你需要发布一个项目(jar包 +(环境 Redis、Mysql、JDK、ES)),项目需要带上环境安装打包!此时Docker就可以帮你解决。
相当于Docker帮你将jar包和环境打包到一起部署上线,一套流程做完!
举个抽象的例子你用Java开发的apk应用(应用商店)然后吕世昊使用apk安装即可使用,而Docker是你用java开发一个jar,然后依赖一些环境如Mysql等等,而你只需要将这个jar和环境打包成一个镜像文件然后发布Docker仓库中(商店),吕世昊就可以下载你发布的Docker镜像,一键运行就ok了。
Docker简介
Docker是基于Go语言开发的!开源项目!
Docker的官网:https://www.docker.com
Docker的文档地址:https://docs.docker.com/ (Docker的文档是超级详细的)
Docker的下载:(进入Docker文档页面就有下载的入口)

Docker的仓库地址:https://hub.docker.com/
Docker和虚拟机的不同
传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
Docker容器内的应用直接运行在宿主机的内容,Docker容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了
每个Docker容器间是互相隔离,每个Docker容器内都有一个属于自己的文件系统,互不影响。
Docker的好处
应用更快速的交付和部署
传统:给你一大堆帮助文档,安装程序。
Docker:打包镜像发布测试,一键运行。
更便捷的升级和扩缩容
使用了Docker之后,我们部署应用就和搭积木一样!
项目打包为一个镜像,扩展 服务器A!服务器B!
更简单的系统运维
在容器化之后,我们的开发,测试环境都是高度一致的。
更高效的计算资源利用:
Docker是内核级别的虚拟化,在一个物理机上可以运行很多容器实例。
Docker的基本组成

- Client:客户端
- DOCKER_HOST:Docker的服务
- Registry:远程仓库
- docker build:构建一个容器
- docker pull:拉取一个容器
- docker run:运行一个容器
- Docker daemon:Docker的守护进程
- Images:镜像(可以理解为Class类)(镜像就好比是一个模板,可以通过模板创建容器实例或者说容器服务,一个镜像可以创建多个实例)
- Containers:多个容器(可以理解为类实例出来的对象)(可以对容器进行启动,停止,删除等基本命令)
- Registry:远程仓库(存放镜像的地方,仓库分为公有仓库和私有仓库)(Docker Hub是国外的共有仓库地址,可以配置镜像加速使用国内阿里云的仓库)
Docker入门第一章的更多相关文章
- Docker 入门 第一部分: 定位和设置
目录 Docker 入门 第一部分: 定位和设置 Docker概念 镜像和容器 容器和虚拟机 准备你的Docker环境 测试 Docker 的版本 测试 Docker 安装 回顾 总结 Docker ...
- Docker入门 第一课 --.Net Core 使用Docker全程记录
微服务架构无疑是当前最火热的开发架构,而Docker作为微服务架构的首选工具,是我们必须要了解掌握的. 我通过一天的时间,网上查文档,了解基础概念,安装Docker,试验Docker命令,通过Dock ...
- MySQL----MySQL数据库入门----第一章 数据库入门
第一章 数据库入门 1.1 数据库基础知识 1.1.1 数据库概述 数据不仅包括普通意义上的数字,还包括文字.图像.声音等.也就是说,凡是在计算机中用来描述事物的记录都可称作数据. 数据库的基本特点: ...
- JAVA 入门第一章(语法基础)
本人初学java 博客分享记录一下自己的学习历程 java我的初步学习分为六章,有c和c++的基础学起来也简便了很多. 第一章 语法基础 第二章 面向对象 第三章 常用工具类 第四章 文件操纵 第五章 ...
- 关于阮大神的es6标准入门第一章
题记:之前在10月份的时候写过阮大神的es6的第一章,但是由于那段时间项目组的动荡,所以也没有什么后续,导致我现在对es6基本都忘的差不多了,不过,现在换了新公司,最近也没什么任务,所以现在开始重新写 ...
- C基础入门 - 第一章 - C语言绪言
第1章 C语言绪言 1.1 C语言概述 1.1.1 C语言世界 1.1.2 C语言学习, 能当饭吃吗 1.2 开发环境构建 1.2.1 visual studio安装使用 1.2.2 visual s ...
- Java入门第一章
后天就是十一长假了,亲们准备好了去哪儿玩了吗? 今天有点空,就来聊聊Java吧,当然是一些Java入门知识了,网上有很多,这里我只是列举一些我自己学到的,感谢大家关注喵的博客这么久,也为大家带来点新知 ...
- RabbitMQ 消息队列 入门 第一章
RabbitMQ : 官网:https://www.rabbitmq.com/ GitHub:https://github.com/rabbitmq?q=rabbitmq 第一步安装: 点击 htt ...
- docker 入门第一步
docker 安装 利用yum 安装 yum 源更新到最新版本,命令: yum update 需要安装工具 net-tools 命令:yum install -y net-tools 配置docke ...
随机推荐
- 『无为则无心』Python序列 — 20、Python元组的介绍与使用
目录 1.元组的应用场景 2.定义元组 3.元组的常见操作 @1.按下标查找数据 @2.index()方法 @3.count()方法 @4.len()方法 4.元祖中的列表元素 5.扩展:序列封包和序 ...
- 11、linux的目录结构
11.1.查看磁盘的id: blkid 11.2.linux目录类似一个倒挂的树: / 是所有目录的顶点,目录磁盘和分区是没有关联的,因此/下不同的目录会对应不同的磁盘的不同的分区: linux中硬盘 ...
- js 正则表达式 验证数字或字母
let reg= /^(^[0-9]*$)|(^[A-Za-z]+$)/ /*reg= /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]$/*/ if(!reg.test( ...
- django项目部署到centos,踩的坑
FAQ1:在使用pip3安装库的时候,提示需要升级pip pip3 install --upgrade pip FAQ2:在创建软链接时,提示:ln: failed to create symboli ...
- Tars | Win10下Docker部署TarsJava(SpringBoot)全过程及踩坑记录
@ 目录 前言 1. 相关环境版本: 坑点一:VMware与Win10 Docker冲突 坑点二:20.版本TarsJava(SpringBoot)依赖文件缺失 2. Docker安装: 坑点三:Do ...
- SpringMVC(12)完结篇 基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现
到这里已经写到第12篇了,前11篇基本上把Spring MVC主要的内容都讲了,现在就直接上一个项目吧,希望能对有需要的朋友有一些帮助. 一.首先看一下项目结构: InfrastructureProj ...
- Java的反射机制一
Java具有一定的动态性,我们可以利用反射机制,字节码操作来获得类似动态语言的特性. 动态操作对象,构造方法,属性,方法 Demo2 如何取得属性和方法以及构造器 public class Demo2 ...
- Neural Approaches to Conversational AI
Neural Approaches to Conversational AI 学姐介绍的一篇综述阅读笔记 SIGIR 2018 主要贡献: 提出一个综合的调查关于最近几年的应用在QA,任务导向和闲聊对 ...
- django 使用jpype 报错:raise+OSError('JVM+cannot+be+restarted')
#调用jar包 def getJar(arg1,arg2): jarpath = os.path.join(os.path.abspath('.'), 'tools/GetTest-1.0-SNAPS ...
- 『心善渊』Selenium3.0基础 — 25、unittest单元测试框架
目录 1.unittest基本简介 2.unittest基本概念 (1)unittest核心的四个概念 (2)如何创建一个测试类 (3)test fixture常用的四个方法 (4)unittest编 ...