Docker学习笔记——(一)docker简介与docker安装
Docker简介与安装
- 1. Docker简介
- docker是什么?
- docker架构原理
- docker有什么用?
- docker容器与虚拟机的区别
- 虚拟机与Docker的体系结构说明:
- 整体对比:
- 2. docker安装
- docker版本介绍
- docker安装官方文档
- docker安装(基于centOS7.5)
- docker配置阿里云镜像
- 镜像的抽象层次
ps: 这个学习笔记,是根据我学习docker视频的时候做的笔记,仅供大家借鉴与参考,顺便将我学习docker的视频贴出来:
注:部分笔记转载于java1234小锋博客的笔记:
java1234博主——小锋老师的博客
哔哩哔哩 docker教学视频在线观看
百度网盘docker教学视频下载地址 提取码:mpzh
1. Docker简介
docker是什么?
Docker是一个开源的应用容器引擎,基于GO语言 并遵循Apche2.0协议开源。
Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,互相之间不服有任何接口(类似iphone的app),更重要的是容器的性能开销极低。
Docker从17.03版本之后就分为CE版(社区版)和EE版(企业版),我们使用的是社区版。
docker架构原理
Docker三要素:镜像、容器、仓库
镜像
Docker镜像是(Image)就是一个只读的模板,它可以是一个运行软件(tomcat/mysql),也可以是一个系统(centos/ubuntu),镜像可以用来创建Docker容器,一个镜像可以创建很多容器。
容器
Docker利用容器(Container)独立运行一个或一组应用。容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每一个容器都是互相隔离的、保证安全的平台。可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面的那层是可读可写的。
仓库
仓库(Repository)是集中存放镜像文件的地场所,类似GitHub存放项目代码一样,只不过Docker Hub是由来存镜像(Image)的。仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像都有不同的标签(tag,类似版本号)。
仓库分为共有仓库(Public)和私有仓库(Private)两种形式。
最大的公开仓库为是Docker Hub(https://hub.docker.com/),存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等。
docker有什么用?
- 简化环境搭建,提高开发生命周期效率
- 大大简化运维工程
- 微服务利器
docker容器与虚拟机的区别
虚拟机与Docker的体系结构说明:
虚拟机的结构体系:
体系 | 说明 |
---|---|
APP | 虚拟机操作系统上的应用,例如nginx |
Guest OS | 虚拟平台上安装的操作系统,例如Centos Linux |
Hypervior | 虚拟机平台,模拟硬件,例如VMWare, VirtualBox |
Host OS | 真实电脑的操作系统,例如:windows,Linux |
server | 表示真实电脑 |
– | – |
Docker结构体系:
体系 | 说明 |
---|---|
APP | 所有的应用程序现在都作为Docker容器运行 |
Docker Engine | 新一代虚拟技术,不需要包含单独的操作系统 |
Host OS | 真实电脑的操作系统,例如:windows,Linux |
server | 表示真实电脑 |
– | – |
整体对比:
Docekr容器 | 虚拟机(VM) | |
---|---|---|
操作系统 | 与宿主机共享OS | 宿主机OS上运行宿主机OS |
存储大小 | 镜像大小,便于存储与传输 | 镜像大小(vmdk等) |
运行性能 | 几乎无额外性能损失 | 操作系统额外cpu/内存消耗 |
移植性 | 轻便、灵活、适用于Linux | 笨重、与虚拟化技术耦合高 |
硬件亲和性 | 面向软件开发者 | 面向硬件运维者 |
2. docker安装
docker版本介绍
Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版和企业版EE。
社区版是免费提供给个人开发者和小团队使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件。
社区版按照stable和edge两种方式发布,每个季度更新stable版本,比如17.06,17.09;每个月份更新edge版本,如:17.09 , 17.10.
我们使用社区版就够了,所以我们安装社区版。
docker安装官方文档
docker安装官方文档地址
docker安装(基于centOS7.5)
Docker在Centos中安装,需要确保CentOS系统的内核版本高于3.10,使用命令 uname -r查看当前内核版本。
uname -r
使用root权限登录Centos,确保yum包更新到最新
yum update
卸载旧版本(如果安装过旧版本的话)
yum remove docker docker-common docker-selinux docker-engine
安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装最新版本的docker
yum install docker-ce docker-ce-cli containerd.io
启动Docker并设置开机启动
systemctl start docker 启动dockersystemctl enable docker 设置开机docker自动启动
验证Docker
docker version
Docker helloWorld测试
docker run hello-world
docker配置阿里云镜像
步骤:
1.登录阿里云,查找“容器镜像服务”,点击进去。
2.在“镜像中心”分类中,点击“镜像加速器”
3.在centos系统中,在/etc/docker目录下找到daemon.json(没有就新建,第一次一般都没有),将以下内容写入:
{ “registry-mirrors”: [“https://xxxxxx.mirror.aliyuncs.com”] }
4.重启daemon
systemctl daemon-reload
5.重启docker服务
systemctl restart docker
6.测试
docker info
镜像的抽象层次
说明:
一个镜像中,只有tomcat是没办法跑起来的,所有能跑起来的镜像,都需要一个微内核,就是一个微型的Linux,跑tomcat还需要JDK,最外层就是tomcat.
Docker学习笔记——(一)docker简介与docker安装相关推荐
- docker学习笔记(四)使用docker搭建环境
参考:汤小洋老师的教学视频 docker学习笔记(一)[docker 介绍.卸载.安装.配置加速] docker学习笔记(二)docker常用命令 docker学习笔记(三)镜像 docker学习笔记 ...
- docker学习笔记(9):nvidia-docker安装、部署与使用
引言 NVIDIA深度学习GPU训练系统(又名DIGITS)是用于训练深度学习模型的Web应用程序.它将深度学习的力量交到了工程师和数据科学家手中.它可用于快速训练用于图像分类,分割和目标检测任务的高 ...
- docker学习笔记(10):docker迁移与升级等其它操作
引言 上一篇讲解了nvidia-docker中关于nvidia-docker的部署以及一些我遇到的相应错误总结,但最后并没有演示容器开启后的应用与步骤,因为我的理解还不够深,有些东西还是很模糊,而本篇 ...
- 【Docker学习笔记 五】深入理解Docker容器数据卷机制
前几篇Blog是对Docker的一个入门和初识,本篇Blog开始就详细学习下一个新的理论基础概念:Volume,也就是容器数据卷,听起来名字高大上,实际上就是一个宿主机的目录而已,为什么需要容器数据卷 ...
- docker学习笔记(三)镜像
参考:汤小洋老师的教学视频 docker学习笔记(一)[docker 介绍.卸载.安装.配置加速] docker学习笔记(二)docker常用命令 docker学习笔记(四)使用docker搭建环境 ...
- docker学习笔记(二)docker常用命令
参考:汤小洋老师的教学视频 docker学习笔记(一)[docker 介绍.卸载.安装.配置加速] docker学习笔记(三)镜像 docker学习笔记(四)使用docker搭建环境 docker学习 ...
- docker学习笔记(五)如何创建自己的阿里云镜像仓库(这是2021版的阿里云教程)
参考:汤小洋老师的教学视频 docker学习笔记(一)[docker 介绍.卸载.安装.配置加速] docker学习笔记(二)docker常用命令 docker学习笔记(三)镜像 docker学习笔记 ...
- anaconda中安装xgboost_ML学习笔记之Anaconda中命令形式安装XGBoost(pip install)
0x00 概述 在没有安装XGBoost之前,import xgboot会出错,如下: # ModuleNotFoundError: No module named 'xgboost' 0x01 安装 ...
- Docker学习笔记 之 Docker安装配置使用
简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare met ...
- 狂神 Docker学习笔记 从基础到进阶 一步到位
Docker 学习笔记 感谢狂神的分享.附上B站视频链接. https://www.bilibili.com/video/BV1og4y1q7M4?from=search&seid=92256 ...
最新文章
- 文件分享微信小程序的设计与开发 Java开发微信小程序 毕业设计
- PEP8 Python 编码规范整理
- CPU使用率的几个重要指标含义列举
- 服务器重启后,启动SAP ERP的步骤
- buffer和cache怎么让你们解释的那么难理解?
- SpringCloud源码分析(一)--客户端搭建
- 怎么更改Windows11鼠标指针大小和样式
- javascript全栈开发实践-web-7
- InternetCheckConnection 通过尝试连接特定的网址,可以用来判断目前机器是否接通外网
- 计算机的二进制,十六进制等的数值概念
- Ububtu 18.04 安装 mysql 和 phpmyadmin 过程记录
- vba宏语言_Excel VBA(1) – VBA 简介及录制宏
- 面试求职-你们想知道的腾讯面经
- 10本经典励志书籍推荐
- 实在抵不住张老师的诱惑,又跳坑了
- oracle、mysql创建用户赋DBA权限
- IntelliJ IDEA 如何下载安装插件
- scrolltop一直为0_「超级玛丽max2.0」「达尔文3号」「超级玛丽max3.0」,三军之战最全解析...
- 聚焦运营商信创运维,美信时代监控易四大亮点值得一试!
- 我的30个Firefox扩展推荐