(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搭建和管理企业级网站应用
相关文章
|
6天前
|
Linux 持续交付 Docker
掌握Docker:从入门到实践
Docker 是一个开源容器引擎,允许开发者将应用及其依赖打包成可移植的容器,在任意 Linux 机器上运行。本文从基本概念入手,详细介绍 Docker 的安装、基本操作、镜像构建及 Docker Compose 的使用,并通过实战案例展示如何部署 Web 应用、构建微服务架构及实现 CI/CD。通过学习,你将掌握 Docker 的核心功能,提升应用开发和部署效率。
|
10天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker与Kubernetes入门
【9月更文挑战第30天】在云计算的浪潮中,云原生技术正以前所未有的速度重塑着软件开发和运维领域。本文将通过深入浅出的方式,带你了解云原生的核心组件——Docker容器和Kubernetes集群,并探索它们如何助力现代应用的构建、部署和管理。从Docker的基本命令到Kubernetes的资源调度,我们将一起开启云原生技术的奇妙之旅。
|
20天前
|
运维 Cloud Native Docker
云原生技术入门:Docker容器化实战
【9月更文挑战第20天】本文将引导你走进云原生技术的世界,通过Docker容器化技术的实战演练,深入理解其背后的原理和应用。我们将一起探索如何在云平台上利用Docker简化部署、扩展和管理应用程序的过程,并揭示这一技术如何改变现代软件的开发和运维模式。
|
14天前
|
Cloud Native 持续交付 Docker
云原生技术入门与实践:Docker容器化部署示例
【9月更文挑战第25天】在数字化转型的浪潮下,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭示云原生技术的核心概念及其应用价值。我们将以Docker容器为例,逐步引导读者了解如何将应用程序容器化,并在云端高效运行。这不仅是对技术趋势的跟随,更是对资源利用和开发效率提升的探索。
41 4
|
16天前
|
关系型数据库 Linux 虚拟化
Docker入门基础实战
Docker入门基础实战
|
24天前
|
Kubernetes Cloud Native 开发者
云原生入门:从Docker到Kubernetes的旅程
【9月更文挑战第16天】 本文将带你进入云原生的世界,从理解Docker容器的基础开始,逐步深入到Kubernetes集群管理。我们将通过简单的代码示例和实际操作,探索这两个关键技术如何协同工作,以实现更高效、灵活的应用程序部署和管理。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供清晰的指导和实用的知识。
53 11
|
1月前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
101 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
2月前
|
图形学 C#
超实用!深度解析Unity引擎,手把手教你从零开始构建精美的2D平面冒险游戏,涵盖资源导入、角色控制与动画、碰撞检测等核心技巧,打造沉浸式游戏体验完全指南
【8月更文挑战第31天】本文是 Unity 2D 游戏开发的全面指南,手把手教你从零开始构建精美的平面冒险游戏。首先,通过 Unity Hub 创建 2D 项目并导入游戏资源。接着,编写 `PlayerController` 脚本来实现角色移动,并添加动画以增强视觉效果。最后,通过 Collider 2D 组件实现碰撞检测等游戏机制。每一步均展示 Unity 在 2D 游戏开发中的强大功能。
101 6
|
14天前
|
关系型数据库 MySQL 数据库
docker启动mysql多实例连接报错Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’
docker启动mysql多实例连接报错Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’
60 0
|
1月前
|
存储 Unix 虚拟化
Docker容器简介
Docker是一种轻量级的虚拟化技术,它通过容器化应用,提高了硬件资源利用率,简化了应用的部署、运输和运行,且与虚拟机相比,具有更快的交付速度和更低的资源消耗。
33 2