本篇目录

  1. 写在最前面的话
  2. docker概念介绍
  3. 镜像的概念、容器的概念
  4. docker的安装介绍

写在最前面的话

  由于此类文章博客园鉴定为简单文章,所以已经移到csdn【https://blog.csdn.net/xingxingzhilong/article/details/82593630

  大家好,首先跟大家说声对不起,我班门弄斧了,我本身是做系统开发,使用的语言是C#和JAVA这两类,再多了的编程语言真的是没有精力去学习。docker这门应用技能断断续续的学习着,不精通。是能说我熟悉它,我能使用它。我能简单理解它。所有接下来如果有哪里有写错的地方,大家可以留言给我,如果我看到了,会验证且更正的。

  我粗略拟定了一个学习总纲,最终的目标是学习大数据研发,分布式架构这类。我不知道我学习的方向是否正确,接下来的课程整理,我会往这边靠。

  最后感谢大家。

docker 概念介绍

  我个人理解的docker技术,就是一个运行的容器,怎么理解?所谓运行的容器,就是系统或者程序所需要的一切必要条件,比如当你运行jar或者war的时候,一句“Hello World”,我们需要什么?需要的是jvm,是jre,那这个时候我们只要jvm,jre足够的内存、cpu、网卡等等,我们的代码就可以在任何地方跑起来。这个时候,有人可能会问,它和虚拟机有什么区别?确实很多人都会拿着虚拟机和docker做对比,那么虚拟机需要的是一个OS(操作系统),在虚拟出来的操作系统上,我们可以做任何事情。但是大家注意了,如果我只是想要运行一段程序,就安装一个虚拟机,是不是很浪费,而且虚拟机也是很耗物理机器的资源。

  所以,虚拟机它是这样子的【OS】->【Hyper】->【Guest OS】->【bin/libs】->【apps】。

   而,docker它是这样的【OS】->【docker engine】->【bin/libs】->【apps】。

  所以通过对比,大家可以清晰的看到两者的区别docker engine 可以与系统隔离同时保持通信。

镜像的概念、容器的概念

  通过上面对docker概念的介绍,我们了解到,docker的守护进程可以很好的将容器内部运行和容器外部执行进行隔离,互不干扰。那么我们怎么写出第一句Hello World呢?我们需要了解两个概念,镜像(image)、容器(container).

  我理解下来,容器=镜像+可读写区。什么意思?说白了一点就是,容器就是镜像的运行场所,这个场所为容器提供所必须的可读写区域。就好比,小婴儿在妈妈肚子里面,婴儿好比image,而妈妈的肚子就是container,为小婴儿提供活动的空间和所需的养分。

  所以,镜像只是一些只读的文件,而容器就是只读文件+可读写区域

docker的安装介绍

  简单说说,不如实际做做。在做的过程中就可以深刻体会了,凡事都有个过程,不要理会概念和原理,我们可以先模仿,先使用,再反过来看原理。就算理解错了也没关系,因为如果一开始你就懂原理,那docker就是你创造出来的了。哈哈,所以边学边调整原理的认识。

  那么,在开始之前我们来确认下环境,这个非常重要,很重要。首先第一,不要用mac系统,不要用mac系统,不要用mac系统,重要的事情说三遍,因为mac它不是liunx内核。mac的很多命令都是封装的,你无法知道内部的一些信息。它会给你一些莫名其妙的错误提示。

  其次,不推荐使用Windows,至于为什么,我也不清楚,只是我在windows下使用docker,会很不习惯。很变扭很鸡肋,感兴趣的可以尝试一下。

  最后,推荐Ubuntu或则CentOS,很好用。我使用的是Ubuntu,虽然我没有全部掌握它的命令和参数,但是我使用下来,还是觉得很方便。很好用,有的时候可能比windows还会好点。

  当然以上都是我个人的观点,大家可以根据喜好选择系统环境,以后不做说明,文章内出现的系统都为ubuntu.那怎么安装操作系统环境我这里就不讲了。

  进入到系统中,在桌面上,右击,选择【打开终端】

  查看docker版本

  

  当然,如果你没有安装docker,就不会出现版本号信息,

  在安装之前,我需要需要做一件事情,由于政治、历史原因,砸门国家有个墙非常厉害,长城防火墙对吧,所以在获取docker的时候,我们需要设置下镜像加速。

  在命令中输入【sudo vim /etc/docker/daemon.json】,如果提示

  

  不要害怕,运行【sudo apt install vim】我们来安装下这个vim命令就可以了。

  接上文,在运行完【sudo vim /etc/docker/daemon.json】之后,打开编辑

  我们用网易的镜像加速,保存好,我们就可以快乐的准备安装docker了。

  使用【sudo wget -qO- https://get.docker.com/ | sh】静静等待就行,提示安装成功之后【sudo service docker start】启动一下服务。

  最后,我们再使用上面的查看docker版本的方法查看下docker版本。就可以了。

  docker的安装有很多方式,不是很难。大家可能会对命令有点陌生,还是那句话,坚持和习惯。


以上是我简单的总结,适合快速入门或者想了解下docker的朋友,希望你们能够喜欢。下一篇【https://www.cnblogs.com/fourspace/p/9596373.html

以后会不定期更新此类文章,如果转载,请注明出处。

邮箱:  wuyun151@163.com  wuyunlong.著

第一篇:docker 简单入门(一)的更多相关文章

  1. Docker 简单入门

    Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737

  2. Python之路,第一篇:Python入门与基础

    第一篇:Python入门与基础 1,什么是python? Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 2,python的特征: (1)易于学习,易于利用: (2)开 ...

  3. 第二篇:docker 简单入门(二)

    本篇目录 写在最前面的话 最常用的docker命令 获取远程仓库镜像 写在最前面的话 如上图大家看到的这样,以后此类文章请到其他平台查阅,由于博客园提示说,内容太多简单,所以以后简单的内容我会放在cs ...

  4. docker第一篇 容器技术入门

    Container 容器是一种基础工具,泛指任何可以容纳其它物品的工具. Linux Namespaces (docker容器技术主要是通过6个隔离技术来实现) namespace    系统调用参数 ...

  5. docker 简单入门(一)

    本篇目录 写在最前面的话 docker概念介绍 镜像的概念.容器的概念 docker的安装介绍 写在最前面的话 大家好,首先跟大家说声对不起,我班门弄斧了,我本身是做系统开发,使用的语言是C#和JAV ...

  6. 【hibernate】<第一节>hibernate简单入门

    所需工具: ide:eclipse or myeclipse jdk:1.7 jar包:hibernate-distribution-3.6.0.Final 和对应mysql的驱动类(对应jar包如图 ...

  7. 第一篇、Python入门

    一 编程与编程语言 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 编程的目的: #计算机的发明,是为了用机器取代/解放人力,而 ...

  8. 持久层之 MyBatis: 第一篇:快速入门

    MyBatis入门到精通 JDBC回顾 1.1.认识MyBatis 1.1.使用IDEA创建maven工程 1.2.引入mysql依赖包 1.3.准备数据 1.4 使用JDBC手写MyBatis框架 ...

  9. 第一篇:Python入门

    一.编程与编程语言 编程的目的: 计算机的发明,是为了用机器取代/解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别表达方式传递给计算机,从而达到让计算机能够像人脑/电脑一样自动执行的 ...

随机推荐

  1. 学习笔记:[算法分析]数据结构与算法Python版

    什么是算法分析 对比程序,还是算法? ❖如何对比两个程序? 看起来不同,但解决同一个问题的程序,哪个" 更好"? ❖程序和算法的区别 算法是对问题解决的分步描述 程序则是采用某种编 ...

  2. [web安全原理]PHP命令执行漏洞基础

    前言 PHP命令执行漏洞 应用程序的某些功能功能需要调用可以执行系统命令的函数,如果这些函数或者函数的参数被用户控制,就有可能通过命令连接符将恶意命令拼接到正常的函数中,从而随意执行系统命令,这就是命 ...

  3. PHP代码审计入门(SQL注入漏洞挖掘基础)

    SQL注入漏洞 SQL注入经常出现在登陆页面.和获取HTTP头(user-agent/client-ip等).订单处理等地方,因为这几个地方是业务相对复杂的,登陆页面的注入现在来说大多数是发生在HTT ...

  4. MathType输入几何符号的技巧

    通过学习几何学的知识,我们发现其中包含的几何符号有很多,比如有表示图形的符号,如三角形,平行四边形,圆,角,圆弧等:还有表示位置关系的符号,如平行,垂直等:还有表示矢量等其他符号,那么MathType ...

  5. Camtasia对录制视频字幕编辑的教程

    我们小时候会有这样的疑问,电视剧上的字幕是怎么做成的呢.字幕又是怎么不会从一幕到下一幕而产生不对应的呢.这就是影视的后期处理的结果了,利用视频的编辑软件,工作者们可以在特定的时间内加上相对应的台词,然 ...

  6. FL Studio音频混音教程

    FL Studio是一款音乐制作.编曲.混音软件,其内置众多电子合成音色,还支持第三方VST等格式插件.软件操作界面简洁易上手,即使你是零音乐基础小白,通过它也能轻松实现自己音乐梦想,很多人给他起了个 ...

  7. CentOS 防火墙常用命令

    1.查看防火墙状态: firewall-cmd --state 2.启动防火墙 systemctl start firewalld 3.关闭防火墙 systemctl stop firewalld 4 ...

  8. Java基础教程——System类

    System类 java.lang.System类代表当前Java程序的运行平台. |-可以做输入输出,垃圾回收:(此处不讲) |-可以获取时间: |-可以获取环境变量: |-可以获取系统信息: |- ...

  9. Python爬虫合集:花6k学习爬虫,终于知道爬虫能干嘛了

    爬虫Ⅰ:爬虫的基础知识 爬虫的基础知识使用实例.应用技巧.基本知识点总结和需要注意事项 爬虫初始: 爬虫: + Request + Scrapy 数据分析+机器学习 + numpy,pandas,ma ...

  10. day4(JWT介绍)

    1.JWT介绍 1.1jwt原理 最简单理解:jwt本质就是, 把用户信息通过加密后生成的一个字符串 JWT的原则是在服务器身份验证之后,将生成一个JSON对象并将其发送回用户 { "Use ...