Docker 简介 | 附入门实例文末送书
Posted 小生凡一
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了 Docker 简介 | 附入门实例文末送书相关的知识,希望对你有一定的参考价值。
- 🎉粉丝福利送书:《CKA/CKAD应试指南:从Docker到Kubernetes完全攻略》
- 🎉点赞 👍 收藏 ⭐留言 📝 即可参与抽奖送书
- 🎉下周二(11月23日)晚上20:00将会在【点赞区和评论区】抽一位粉丝送这本北京大学出版社的书~🙉
- 🎉详情请看最后的介绍嗷~✨
1. 简介
在官网我们可以看到这句
Build safer, share wider, run faster.
docker是一个容器技术,无疑是给了我们很多的便利:
便利1:
build safer
,运行环境保持一致,更快更轻松迁移
-
开发的时候,我们在本机测试环境可以运行,但是到生产环境却无法运行。
比如一个Go的web程序,这里涉及到go、redis、mysql等软件环境。当这些的某一项版本不一致的时候,可能就会导致程序无法运行。Docker则将程序以及使用软件环境直接
打包在一起
,无论在哪个机器上都保证了环境版本的一致。
便利2:
run faster
,对进程进行封装隔离,容器与容器之间互不影响,更高效的利用系统资源
-
由于服务器其他程序出错,导致自己程序出错
我们在公司所写的程序,可能会和其他人共用一个服务器,所以我们就要保证我们程序不会被其他程序所影响,这里就要做一个隔离的操作了。Docker是进程的隔离,很好地解决了环境隔离的问题,别人程序不会影响到自己的程序。
便利3:
share wider
,通过一个镜像可以复制N个环境一致的容器
-
公司要弄一个活动,可能会有大量的流量进来,公司需要再多部署几十台服务器
在没有Docker的情况下,要在几天内部署几十台服务器,这对运维来说是一件非常折磨人的事,而且每台服务器的环境还不一定一样,就会出现各种问题,最后部署地头皮发麻。用Docker的话,我只需要将程序打包到镜像,你要多少台服务,我就给力跑多少容器,极大地提高了部署效率。
2. Docker 与虚拟机区别
传统虚拟机 | Docker容器 | |
---|---|---|
磁盘占用 | 几个GB到几十个GB左右 | 几十MB到几百MB左右 |
CPU内存占用 | 虚拟操作系统非常占用CPU和内存 | Docker引擎占用极低 |
启动速度 | (从开机到运行项目)几分钟 | (从开启容器到运行项目)几秒 |
安装管理 | 需要专门的运维技术 | 安装、管理方便 |
应用部署 | 每次部署都费时费力 | 从第二次部署开始轻松简捷 |
耦合性 | 多个应用服务安装到一起,容易互相影响 | 每个应用服务一个容器,达成隔离 |
系统依赖 | 无 | 需求相同或相似的内核,目前推荐是Linux |
我们拿内存举例子
- 虚拟机是利用
Hypervisor
去虚拟化内存,整个调用过程是虚拟内存->虚拟物理内存->真正物理内存 - Docker是利用
Docker Engine
去调用宿主的的资源,这时候过程是虚拟内存->真正物理内存。
3. Docker 核心架构
镜像:
一个镜像代表一个应用环境,他是一个只读的文件,如 mysql镜像,redis镜像,nginx镜像等容器:
镜像每次运行之后就是产生一个容器,就是正在运行的镜像,特点就是可读可写仓库:
用来存放镜像的位置,是镜像下载和上传的位置dockerFile:
docker生成镜像配置文件,用来书写自定义镜像的一些配置tar:
一个对镜像打包的文件,日后可以还原成镜像
4. Docker 换源
我们知道docker默认不是国内的镜像源的,所以我们要换一个国内源头。
- ubuntu
sudo vim /etc/docker/daemon.json(如果不存在则创建)
填入一下内容
{
"registry-mirrors":[
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"http://registry.docker-cn.com"
] ,
"insecure-registries":[
"docker.mirrors.ustc.edu.cn",
"registry.docker-cn.com"
]
}
重启服务
service restart docker
- window
在这里换源
然后重启服务
5. 简单例子
docker run hello-world
当我们运行这条命令的时候,这里会显示本地没有这个镜像,就会去拉取这个镜像
然后就成功运行了
- 查看本地的镜像
docker images
- 查看容器运行情况
docker ps -a
福利送书
【内容简介】
本书系统介绍了 docker 及 kubernetes 的相关知识,可以帮助读者快速了解及熟练配置 kubernetes。
本书共分为 16 章:
- 首先介绍了 docker 基础和 docker 进阶。
- 其次介绍了 kubernetes 的基础操作,包括部署安装kubernetes 集群、升级 kubernetes、创建及管理 pod 等。
- 然后重点介绍存储管理、密码管理、deployment、daemonset 及其他控制器、探针、job、服务管理、网络管理、包管理及安全管理等内容。
- 最后通过一个综合实验 devops,全面复习本书所有内容。
本书适合想系统学习docker
和 kubernetes
,以及希望通过 CKA
和 CKAD
考试的读者学习使用。
此外,本书中的许多案例还可以直接应用于生产环境。
【评论区】和 【点赞区】 会抽一位粉丝送出这本书籍嗷~
当然如果没有中奖的话,可以到当当,京东北京大学出版社自营店进行购买。
京东自营购买链接
:https://item.jd.com/13376964.html当当自营购买链接
:http://product.dangdang.com/29287073.html
也可以关注我!每周都会送一本出去哒~
以上是关于 Docker 简介 | 附入门实例文末送书的主要内容,如果未能解决你的问题,请参考以下文章
Python零基础到入门Python基础语法篇——数字(Number) 学习 文末送书
Python零基础到入门Python基础语法篇——数字(Number) 学习 文末送书
Python零基础到入门Python基础语法篇——基本数据类型文末送书