Docker学习-从无知到有知的学习过程

Docker学习

最近被别人提到的docker吸引到了注意力,所以打算先快速的了解一下docker到底是个上面东西。
之所以我写下这个文档呢,是为了记录对docker一无所知我是如何进行学习一门新技术的,一方面是为了记录自己的学习过程,另外一方面,希望能够有同样的新手,但是不知道怎么入门的人基于一定的帮助。
不是说我的方法有多好,是我自己让自己找到属于自己的一套学习方法。
首先呢,我去查阅了官网,https://www.docker.com/
直接去看官网看的我有点蒙,我觉得我还是先找一个教学视频,
我看的是尚硅谷的周阳老师的视频:
https://www.bilibili.com/video/av27122140?from=search&seid=1600067007728942244

官网Ref Doc:https://docs.docker.com/
这也是我第一次尝试使用Markdown语法来练习写笔记,(#^.^#)

好,接下来开始进入正题:

简介: 容器,虚拟化技术:云计算,云平台,开发在云端,阿里云,javaee服务器编译部署 等等等会涉及到,Java程序员有必要了解一下。

官网:https://www.docker.com/

前提知识:

  • 强制,熟悉Linux命令和相关背景知识比如:ps,top
  • 建议,Maven、Git相关的知识
课程时间:1.5天 - 基础篇

立足于Java语言的角度:基础篇,程度深度广度细度达不到专业的docker研发工程师


Docker是什么?

为什么会有docker出现

一款产品从开发到上线,从操作系统到运行环境,再到应用配置。
作为开发+运维之间的写作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是个版本的迭代之后,不通版本环境的兼容,对运维人员都是考研。

Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。

环境配置如此麻烦,换一台机器,就要重来一次,费时费力。很多人想到,能不能从根本上解决问题。==软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来,开发人员利用Docker可以消除协作编码时候“在我的机器上可正常工作”的问题。==

自己的理解:以前开发人员只是提交开发完毕的代码给部署人员,现在通过Docker将开发环境,配置环境,部署观景,运行依赖包,代码等等一起打包成镜像。由上而下打包,达到应用程序跨平台间的无缝接轨运作。

Docker理念:

Docker的主要目标是:“Build,Ship and Run Any APP,Anywhere”。也就是通过对应用组件的封装,分发,部署,运行等生命周期的管理,使用户的APP以及运行环境能够做到一次封装,到处运行

Linux容器技术的出现就解决了这样的一个问题,而Docker就是从它的基础上发展过来的,将应用运行在Docker容器上面,而Docker容器再任何操作系统上都是一直的,这就是实现了跨平台,跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。

简单总结为一句话:

解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。

++这里提前抛出三个概念:Docker的三要素
仓库,镜像和容器的概念++

Docker能干什么?

虚拟机的概念需要提前知道。
虚拟机的缺点:
  1. 资源占用多
  2. 冗余步骤多
  3. 启动慢
比较Docker和传统虚拟化技术的不同之处(容器虚拟化技术):
  • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整的操作系统,在该系统上再运行所需要应用进程。
  • 而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟,因此容器要比传统虚拟机更为轻便。
  • 每个容器之间互相隔离,每个容器都有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。
  • 彻彻底底的解决了虚拟机的缺陷。

Docker其实就是一个缩小版,浓缩版,精品版本的Linux系统。

开发/运维(DevOps理念):一次构建,随处运行。其他优点
  • 更快速的应用和部署
  • 更便捷的升级和扩缩容
  • 更简单的系统运维
  • 更高效的计算资源利用
这里又自己搜集了一下关于devops的介绍
https://baike.baidu.com/item/devops/2613029?fr=aladdin

在用Docker技术的一些公司:
新浪、美团、蘑菇街

Docker去哪下载?

Docker的安装

前提
  • centOS 6.5(64-bit)以上版本
  • 系统内核版本为3.10以上

查看自己的内核版本,指令:

uname -r

原文地址:https://www.cnblogs.com/bigbaby/p/12041637.html

时间: 2024-11-06 03:35:44

Docker学习-从无知到有知的学习过程的相关文章

Docker 学习笔记【3】 Docker 仓库、数据卷、数据卷容器,网络基础实操。高级网络配置学习

Docker 学习笔记[4] 高级网络配置实操,实战案例实验 =========================================================================== Docker 学习笔记[2] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,记录开始 =========================================================================== 被格式化的脚本内容: #开头代表

Android从无知到有知——NO.1

如期而至的软件设计大赛吹响了重生的号角,正如同我们的指导老师所说,这个暑假会影响你近几年的发展,也可能会决定你以后所走的道路.是的,我身边就有很好的例子,有些师哥师姐们经常跟我们说,软件大赛不仅使他们学习到了很多专业知识,而且提升了他们的自学能力,而这正是我的软肋.所以,今年这个暑假有很多意义,不仅是为了弥补去年的遗憾,更多的是将自己的自学能力提升一个档次,顺便学点知识,之所以用"顺便"这个词是因为我这个人不能主观地去做某件事,越是看重越收获寥寥,所以就把它看成是一门副业,主业就是前者

docker 学习路线

docker 学习路线 参考资料 知乎 docker 的学习路线 Docker - 从入门到实践 Docker 核心技术与实现原理 Docker 入门 <Kubernetes in Action>,想要学习 Kubernetes 的读者一定不要错过. 编程能力影响最大的两本书就是: <计算机程序的构造和解释>(Structure and Interpertation of Computer Programming,SICP) <计算机程序的概念.技术和模型>(Conce

Docker 学习笔记【1】Docker 相关概念,基本操作

计划:Docker 学习笔记[2] Docker 基础操作实操记录,Docker仓库.数据卷,网络基础学习---40 注:所有操作在root下执行 --1--概念: 1.Docker镜像: 镜像就是一个只读的模板,用于创建docker容器. Docker提供了简单的机制创建或者更新现有镜像,也可以从别处拿来现成镜像直接使用. 2.Docker容器: 可以认为是精简版的linux运行环境包含 [root权限,进程空间,用户空间,网络空间等]和应用程序 另外:镜像是只读的,容器基于镜像启动后创建一层

Docker 学习笔记【2】 Docker 基础操作实,Docker仓库、数据卷,网络基础学习

Docker 学习笔记[3] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,实操 网络基础  ---------高级网络配置和部分实战案例学习 ============================================================= Docker 学习笔记[1]Docker 相关概念,基本操作--------实操记录开始 ============================================================= 被

Android从无知到有知——NO.8

上一篇中提到的自定义广播事件是无序发出的,这样所有的广播接受者都可以接收到这个事件,我们还可以使得广播以有序的方式发送出去,这个和前者类似: //如果广播事件是有序发出去的,广播接受者按优先级依次收到 sendOrderedBroadcast(intent, null); //在有序广播中,优先级高的接受者可以终止广播事件 这条语句和前边的无序发送类似,第一个参数是指定的"意图",第二个是需要添加的权限,这里可以先不用管.有序接收的原理就是优先级高的先接收,然后按优先级依次接收,我们需

Docker学习笔记(一)什么是Docker

Docker学习笔记(一)什么是Docker Docker:容器技术是虚拟化技术的一种,是操作系统的虚拟化. 传统硬件虚拟化:虚拟硬件,事先分配资源,在虚拟的硬件上安装操作系统,虚拟机启动起来以后资源就会被完全占用. 操作系统虚拟化:docker是操作系统虚拟化,借助操作系统内核特性(命名空间.cgroups)实现,不需要模拟硬件行为,不需要安装操作系统. 优点: 硬件虚拟化需要安装操作系统占用空间大. 硬件虚拟化需要模拟硬件系统行为,内存和cpu消耗更大. 缺点: 容器进程崩溃,可能影响宿主机

Docker学习笔记(四)走进docker的世界

Docker学习笔记(四)走进docker的世界 一个容器实际上是运行在宿主机上的一个进程. 只不过在启动这个进程之前进行了一些特殊处理,让这个容器进入了一个全新的虚拟环境,与宿主机的环境分开, 所以这个进程及其子进程认为自己运行在一个独立的世界里面. #查看进程 sudo docker run -d cyf:sshd /usr/sbin sshd -D ps axf 可以看到在宿主机里面的5948这个sshd进程 下面进入docker容器查看 sudo docker-enter.sh 6867

Docker学习教程笔记整合(完整)

Docker学习教程笔记整合(完整) 本文主要是整理了DockerOne组织翻译的Flux7的Docker入门教程,通过markdown记录,方便离线学习.原文地址,http://dockone.io/article/101. 文中一些链接可能会跳转国外的网站,如果没有插件或开VPN的朋友,可以尝试修改一下Hosts文件,如何修改Hosts文件.或者使用XXNet插件,如何使用XXnet 介绍 Docker是一个新的容器化的技术,它轻巧,且易移植,号称"build once, configure