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,运行环境保持一致,更快更轻松迁移

  1. 开发的时候,我们在本机测试环境可以运行,但是到生产环境却无法运行。

    比如一个Go的web程序,这里涉及到go、redis、mysql等软件环境。当这些的某一项版本不一致的时候,可能就会导致程序无法运行。Docker则将程序以及使用软件环境直接打包在一起,无论在哪个机器上都保证了环境版本的一致。

便利2:run faster,对进程进行封装隔离,容器与容器之间互不影响,更高效的利用系统资源

  1. 由于服务器其他程序出错,导致自己程序出错

    我们在公司所写的程序,可能会和其他人共用一个服务器,所以我们就要保证我们程序不会被其他程序所影响,这里就要做一个隔离的操作了。Docker是进程的隔离,很好地解决了环境隔离的问题,别人程序不会影响到自己的程序。

便利3: share wider,通过一个镜像可以复制N个环境一致的容器

  1. 公司要弄一个活动,可能会有大量的流量进来,公司需要再多部署几十台服务器

    在没有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,全面复习本书所有内容。

本书适合想系统学习dockerkubernetes,以及希望通过 CKACKAD 考试的读者学习使用。
此外,本书中的许多案例还可以直接应用于生产环境

【评论区】和 【点赞区】 会抽一位粉丝送出这本书籍嗷~

当然如果没有中奖的话,可以到当当,京东北京大学出版社自营店进行购买。

  • 京东自营购买链接:https://item.jd.com/13376964.html
  • 当当自营购买链接:http://product.dangdang.com/29287073.html

也可以关注我!每周都会送一本出去哒~

以上是关于 Docker 简介 | 附入门实例文末送书的主要内容,如果未能解决你的问题,请参考以下文章

Python零基础到入门Python基础语法篇——数字(Number) 学习 文末送书

Python零基础到入门Python基础语法篇——数字(Number) 学习 文末送书

Python零基础到入门Python基础语法篇——基本数据类型文末送书

Python零基础到入门Python基础语法篇——基本数据类型文末送书

文末送书知识体系目录

机器学习图解VGG与ResNet (文末送书)