docker 简单入门(一)
本篇目录
- 写在最前面的话
- docker概念介绍
- 镜像的概念、容器的概念
- docker的安装介绍
写在最前面的话
大家好,首先跟大家说声对不起,我班门弄斧了,我本身是做系统开发,使用的语言是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的安装有很多方式,不是很难。大家可能会对命令有点陌生,还是那句话,坚持和习惯。
思维空间
转载于:https://www.cnblogs.com/liliuguang/p/9602442.html
docker 简单入门(一)相关推荐
- Docker简单入门
作为一个初次接触Docker的人来说,最大的问题是Docker是什么?Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.比如,我们在笔记本上编译测试通过的容 ...
- Docker从入门到实践
一般说来 SPA 的项目我们只要启一个静态文件 Server 就可以了,但是针对传统项目就不一样了,一个项目会依赖很多服务端程序.之前我们的开发模式是在一台开发机上部署开发环境,所有人都在这台开发机上 ...
- Docker新手入门:基本用法
Docker新手入门:基本用法 1.Docker简介 1.1 第一本Docker书 工作中不断碰到Docker,今天终于算是正式开始学习了.在挑选系统学习Docker以及虚拟化技术的书籍时还碰到了不少 ...
- Docker 精通之入门
Docker 精通系列 Docker 精通之入门 Docker 精通之微服务 Docker 精通之常用命令 Docker 精通之 Dockerfile 2013年发布至今, Docker 一直广受瞩目 ...
- MinIO Docker 快速入门
MinIO Docker 快速入门 前提条件 您的机器已经安装docker. 从 这里下载相关软件. 在Docker中运行MinIO单点模式. MinIO 需要一个持久卷来存储配置和应用数据.不过, ...
- MinIO Docker 快速入门
MinIO Docker 快速入门 前提条件 您的机器已经安装docker. 从 这里下载相关软件. 在Docker中运行MinIO单点模式. MinIO 需要一个持久卷来存储配置和应用数据.不过, ...
- Kubernetes CKA认证运维工程师笔记-Docker快速入门
Kubernetes CKA认证运维工程师笔记-Docker快速入门 1. Docker 概念与安装 1.1 Docker 是什么 1.2 Docker 基本组成 1.3 版本与支持平台 1.4 Do ...
- Docker快速入门,看这个就够了
Docker快速入门 一.Docker介绍 1.1 Docker背景 1.2 Docker概念 1.3 Docker的优势 1.4 Docker的三个基本概念 二.Docker的安装和使用 2.1 安 ...
- Docker 从入门到实践系列一 - 什么是Docker
文章目录 虚拟机和容器 虚拟机和容器的区别 什么是 Docker Docker 的优点 Docker 的应用场景 Docker 核心概念 docker 镜像(image) docker 容器(cont ...
最新文章
- ASP.NET图形化的曲线图类
- 通过DBA_SOURCE定位SQL语句属于哪个存储过程
- android studio annotations,AndroidAnnotations在Android Studio中的配置
- JVM运行时数据区概览
- C++ Primer 5th笔记(chap 13 拷贝控制)实例1
- boc android app,BOC
- ASP.NET MVC @helper使用说明
- php smarty if,php Smarty中if,elseif,else用法详解
- LOADRUNNER居于HTTP协议函数使用
- android系统自动休眠代码流程,android系统休眠与唤醒驱动流程详细分析.doc
- 当下热门的报表统计系统排行榜
- 计算机专业规划ppt模板,2021大学生个人规划ppt模板
- matplotlib实战(绘制电学实验中的改装表校准线)
- 松弛型内存模型(Relaxed memory models)的一个有趣的例子
- HashMap遍历和使用
- 程序员自我修养阅读笔记——运行库
- 北京林业大c语言程序设计考试试题,2016年北京林业大学信息学院程序设计语言、数据结构(上机操作)复试笔试最后押题五套卷...
- C语言中“.”与“-”用法比较
- 《正本清源区块链》课程分享裂变运营复盘
- SaaS Metrics Math: Tools Resources for Growth Rate, Churn Rate, ARR, MRR More
热门文章
- python print 的使用方法
- 【文本分类】Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification
- IDEA-Java自动生成单元测试
- 设置MySQL/MariaDB 数据库默认编码为utf8mb4 (推荐)
- html5诗歌变换颜色,关于颜色的现代诗歌
- matlab偏导符号怎么打,matlab 如何输入导数
- html兼容不同屏幕 代码,rem的正确使用姿势 -- 完美解决H5页面不同尺寸屏幕的适配问题...
- 中one_气场不比BBA差,续航里程远、加速快的理想ONE值得买吗?
- 信鸽 ios tag推送 php,iOS 关于信鸽推送点击推送通知的处理
- php8支持哪些新特征,PHP8 新特性总结(一)