(1) Docker 简介 | 附入门实例【文末送书】

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: Docker1. 简介2. Docker 与虚拟机区别3. Docker 核心架构4. Docker 换源5. 简单例子福利送书

Docker

1. 简介

2. Docker 与虚拟机区别

3. Docker 核心架构

4. Docker 换源

5. 简单例子

福利送书

1. 简介

image.png

在官网我们可以看到这句


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 与虚拟机区别


image.png

image.png

image.png

我们拿内存举例子


虚拟机是利用Hypervisor去虚拟化内存,整个调用过程是虚拟内存->虚拟物理内存->真正物理内存

Docker是利用Docker Engine去调用宿主的的资源,这时候过程是虚拟内存->真正物理内存。

3. Docker 核心架构

镜像: 一个镜像代表一个应用环境,他是一个只读的文件,如 mysql镜像,redis镜像,nginx镜像等

容器: 镜像每次运行之后就是产生一个容器,就是正在运行的镜像,特点就是可读可写

仓库:用来存放镜像的位置,是镜像下载和上传的位置

dockerFile:docker生成镜像配置文件,用来书写自定义镜像的一些配置

tar:一个对镜像打包的文件,日后可以还原成镜像

image.png

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

image.png


在这里换源


image.png


然后重启服务

image.png


5. 简单例子

docker run hello-world


image.png

当我们运行这条命令的时候,这里会显示本地没有这个镜像,就会去拉取这个镜像

image.png


然后就成功运行了


image.png


查看本地的镜像

docker images


image.png


查看容器运行情况

docker ps -a


image.png


福利送书

image.png


【内容简介】


本书系统介绍了 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

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


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
22天前
|
NoSQL 关系型数据库 MySQL
docker部署jumpserver及入门
docker部署jumpserver及入门
|
4天前
|
Kubernetes Cloud Native 开发者
云原生入门:从Docker到Kubernetes的旅程
【9月更文挑战第16天】 本文将带你进入云原生的世界,从理解Docker容器的基础开始,逐步深入到Kubernetes集群管理。我们将通过简单的代码示例和实际操作,探索这两个关键技术如何协同工作,以实现更高效、灵活的应用程序部署和管理。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供清晰的指导和实用的知识。
30 11
|
18天前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
63 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
18天前
|
存储 Unix 虚拟化
Docker容器简介
Docker是一种轻量级的虚拟化技术,它通过容器化应用,提高了硬件资源利用率,简化了应用的部署、运输和运行,且与虚拟机相比,具有更快的交付速度和更低的资源消耗。
30 2
|
24天前
|
运维 Ubuntu Shell
掌握Docker容器的创建:从镜像到实例
【8月更文挑战第27天】
93 4
|
20天前
|
运维 开发者 Docker
Docker容器部署实战:从入门到精通
【8月更文挑战第31天】 本文将引导读者了解如何使用Docker容器技术来简化和加速应用程序的部署过程。文章将通过实际案例探讨Docker的基本概念、架构,以及如何创建、管理和维护Docker容器。我们将通过详细的代码示例和操作指导,展示如何在本地环境或云基础设施上部署应用,并讨论如何克服在实际部署中可能遇到的挑战。无论你是DevOps工程师、软件开发者还是IT专业学生,本文都将为你提供深入理解并有效使用Docker的全面指南。
|
20天前
|
Kubernetes Cloud Native 云计算
云原生入门:从Docker到Kubernetes的旅程
【8月更文挑战第31天】 在数字化转型的浪潮中,云原生技术成为推动现代软件开发的关键力量。本文将引导读者理解云原生的基本概念,通过Docker和Kubernetes的实际应用示例,展示如何在云平台上部署和管理容器化应用。我们将一起探索服务编排、持续集成和微服务架构的实践之路,旨在为初学者揭开云原生技术的神秘面纱,并激发对这一前沿领域的深入探索。
|
20天前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【8月更文挑战第31天】 在云原生的世界里,容器技术是基石。本文将带你了解如何通过Kubernetes和Docker这两个强大的工具,搭建起你的云原生应用架构。我们将一起探索它们如何相互配合,提升开发与运维的效率。准备好了吗?让我们启航,探索云原生的奥秘!
|
20天前
|
Kubernetes Cloud Native 开发者
云原生入门:从Docker到Kubernetes的旅程
【8月更文挑战第31天】在数字化浪潮中,云原生技术如同一艘航向未来的船,承载着企业转型的梦想。本文将带领读者从Docker容器的基础出发,一路驶向Kubernetes的广阔海域。通过浅显易懂的语言和实用的代码示例,我们将探索云原生的核心概念、架构设计以及如何在实际项目中应用这些技术。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供一次宝贵的学习之旅。让我们一起启航,发现云原生的魅力!
|
20天前
|
Kubernetes Cloud Native Docker
云原生入门:Docker容器化部署实战
【8月更文挑战第31天】在数字化浪潮中,云原生技术成为企业转型的助推器。本文通过Docker容器化部署的实践案例,引导读者从零基础到掌握基础的云原生应用部署技能。我们将一起探索Docker的魅力,学习如何将一个应用容器化,并在云平台上运行起来,为深入云原生世界打下坚实基础。