【云原生-Docker篇】之 Docker入门精讲

简介: 【云原生-Docker篇】之 Docker入门精讲

正文


一、容器3W介绍


1.1 什么是容器


容器是一种轻量级、可移植、自包含的软件打包技术,使得应用程序及其需要的支持环境一起打包,以相同的方式运行在几乎任何地方。


1.2 为什么需要容器


对开发人员来说 :Build Once, Run Anywhere (一次构建,随处运行)


对运维人员来说:Configure Once, Run Anywhere(配置一次,随处运行)


1.3 容器是如何工作的


Docker主要架构包含如下要素:


Client,客户端包含多种形式,除了常用的Docker命令行之外,还可以通过REST API的形式,客户端的作用就是为了发送指令给到Docker Host,进行一系列的操作。Client可以和Docker Host运行在一台或者不同的机器上。

Docker Host:

Docker Daemon,Docker的守护线程,通过接受Client的指令来对容器和镜像进行具体的操作事宜。默认情况下,只接受本地Host的Client指令。

Image,镜像是只读属性的,通过本地制作或者从Registry拉取获得,用来生成一个或者多个容器实例,是容器的模板 。

Container,容器实例,通过镜像运行而来,对容器的任何修改都不会影响镜像,真正对外提供服务的就是容器实例。

Registry,镜像仓库,可以本地搭建、通常推荐使用国内大厂的镜像库,或者使用官方的DockHub镜像仓库。

它们之间的关系可用如下图表示:

Docker架构图

998.webp.jpg

一个完整的工作流程如下:

  1. 打开Docker Client客户端,连接上Docker Host;
  2. 通过docker pull命令从Registry拉取镜像到本地;
  3. 运行docker run命令从镜像实例化一个或者多个容器实例;


二、容器技术与虚拟机技术


容器与虚拟机的比较

8.webp.jpg


2.1 相同


都是一种虚拟技术,给应用提供相对独立的运行环境。它们都摆脱了对物理资源的直接依赖,相互之间以共享地方式高效地使用计算资源。


2.2 不同


虚拟机通常需要依赖Hypervisor技术,该技术可以为虚拟机分配独立的物理环境和操作系统,而容器则是基于Docker Engine直接使用宿主机的操作系统来进行虚拟资源的分配,无需再为每个虚拟单位安装Guest OS,大大减少了镜像的构建成本和运行成本。


因此,相同的物理资源下,容器能比虚拟机运行更多的虚拟单位,更加的轻量和高效。


三、如何安装Docker


3.1 卸载旧版本


旧版本的 Docker 被称为docker或docker-engine。如果安装了这些,请卸载它们以及相关的依赖项。


yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

如果yum报告没有安装这些软件包,那也没关系。


3.2 安装Docker


官方推荐存储库安装方法:

注:其他安装方法——官方安装手册


在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。


安装yum-utils包(提供yum-config-manager 实用程序)

yum install -y yum-utils

设置阿里云docker镜像地址为存储库(官方文档镜像地址是外网,比较慢)

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新Yum 软件包索引

yum makecache fast

安装DOCKER引擎

yum install docker-ce docker-ce-cli containerd.io

启动docker

systemctl start docker

启动后,可以查看docker 信息和版本,输入version命令后 查看是否有相关版本信息


docker version
docker info


3.3 配置阿里云镜像加速


官网:https://cr.console.aliyun.com/cn-beijing/instances/mirrors

相关代码

vim /etc/docker/daemon.json
## 填入阿里云镜像
{
  "registry-mirrors": ["https://25o6jk0m.mirror.aliyuncs.com"]
}


重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker
相关文章
|
6天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
28 2
|
4天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
4天前
|
运维 Kubernetes Cloud Native
云原生技术入门及实践
【10月更文挑战第39天】在数字化浪潮的推动下,云原生技术应运而生,它不仅仅是一种技术趋势,更是企业数字化转型的关键。本文将带你走进云原生的世界,从基础概念到实际操作,一步步揭示云原生的魅力和价值。通过实例分析,我们将深入探讨如何利用云原生技术提升业务灵活性、降低成本并加速创新。无论你是云原生技术的初学者还是希望深化理解的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
6天前
|
Cloud Native 持续交付 云计算
云原生技术入门与实践
【10月更文挑战第37天】本文旨在为初学者提供云原生技术的基础知识和实践指南。我们将从云原生的概念出发,探讨其在现代软件开发中的重要性,并介绍相关的核心技术。通过实际的代码示例,我们展示了如何在云平台上部署和管理应用,以及如何利用云原生架构提高系统的可伸缩性、弹性和可靠性。无论你是云原生领域的新手,还是希望深化理解的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
|
5天前
|
存储 Cloud Native 持续交付
云原生入门:从理论到实践
【10月更文挑战第38天】云原生技术正在重塑软件开发和运维的面貌。本文将带你走进云原生的世界,理解其核心理念,并探索如何将这些理念应用于实际项目中。我们将一起学习容器化、微服务架构、持续集成与持续部署(CI/CD)等关键概念,并通过代码示例加深理解。无论你是云原生新手还是希望深化知识的开发者,这篇文章都将为你提供宝贵的知识和启示。
16 3
|
8天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
14天前
|
运维 持续交付 虚拟化
docker入门详解!!!
本文介绍了容器技术的发展历程,从物理机到虚拟化再到容器化,重点讲解了Docker的诞生及其优势。Docker通过轻量级的容器技术,实现了资源的高效利用、快速启动、环境一致性、持续交付和部署等优点。文章还详细解析了Docker的架构和工作原理,包括Docker Daemon、REST接口、Docker Client等组件,以及容器与虚拟机的差异。
52 2
|
15天前
|
Cloud Native 持续交付 云计算
云原生入门指南:从容器到微服务
【10月更文挑战第28天】在数字化转型的浪潮中,云原生技术成为推动现代软件开发的关键力量。本篇文章将带你了解云原生的基本概念,探索它如何通过容器化、微服务架构以及持续集成和持续部署(CI/CD)的实践来提升应用的可伸缩性、灵活性和可靠性。你将学习到如何利用这些技术构建和部署在云端高效运行的应用,并理解它们对DevOps文化的贡献。
37 2
|
20天前
|
运维 Kubernetes Cloud Native
云原生入门:Kubernetes和容器化的未来
【10月更文挑战第23天】本文将带你走进云原生的世界,探索Kubernetes如何成为现代软件部署的心脏。我们将一起揭开容器化技术的神秘面纱,了解它如何改变软件开发和运维的方式。通过实际的代码示例,你将看到理论与实践的结合,感受到云原生技术带来的革命性影响。无论你是初学者还是有经验的开发者,这篇文章都将为你开启一段新的旅程。让我们一起踏上这段探索之旅,解锁云原生技术的力量吧!
|
4天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####

热门文章

最新文章