提示:以下是本篇文章正文内容,Docker 系列学习将会持续更新
一、初始 Docker
我们写的代码会接触到好几个环境:开发环境、测试环境以及生产环境
Docker 概念:
- Docker 是一个开源的应用容器引擎
- 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
- Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。
- 容器是完全使用沙箱机制,相互隔离。
- 容器性能开销极低。
- Docker 从 17.03 版本之后分为 CE(
Community Edition
: 社区版) 和 EE(Enterprise Edition
: 企业版)
学习计划:
1️⃣ 初识 Docker
2️⃣ Docker 命令
3️⃣ Docker 容器数据卷
4️⃣ Dockerfile
5️⃣ Docker 应用部署
6️⃣ Docker 服务编排
7️⃣ Docker 私有仓库
8️⃣ Docker 相关概念
二、安装 Docker
Docker 可以运行在 MAC、Windows、CentOS、UBUNTU 等操作系统上,本课程基于 CentOS 7
安装 Docker。
①yum 包更新到最新
yum update
②安装需要的软件包, yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
③设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
④安装docker,出现输入的界面都按 y
yum install -y docker-ce
⑤查看docker版本,验证是否验证成功
docker -v
Docker version 23.0.1, build a5ee5b1
三、Docker 架构
- 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
四、配置 Docker 镜像加速器
- 默认情况下,将来从 docker hub(https://hub.docker.com)上下载 docker 镜像,太慢。
- 一般都会配置镜像加速器:
- USTC:中科大镜像加速器(https://docker.mirrors.ustc.edu.cn)
- 阿里云
- 网易云
- 腾讯云
①我们这里配置阿里云的镜像,首先你需要注册登录阿里云。
②选择镜像加速器,每个人的加速器地址都不一样,所以需要自己去查看。
③配置镜像加速器:打开我们会发现它已经提供了在各个环境下的配置方法,我们只需要将指令在云服务器上执行一遍就行。
通过修改 daemon 配置文件 /etc/docker/daemon.json
来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://gqccfxyn.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
我们可以看到修改后的信息,同样地,如果我们需要配置中科大镜像加速器,就将其镜像地址修改即可。
五、容器 vs 虚拟机
相同点:容器和虚拟机具有相似的资源隔离和分配优势。
不同点:
• 容器虚拟化的是操作系统,虚拟机虚拟化的是硬件。
• 传统虚拟机可以运行不同的操作系统,容器只能运行同一类型操作系统。
特性 | 容器 | 虚拟机 |
---|---|---|
启动 | 秒级 | 分钟级 |
硬盘使用 | 一般为 MB | 一般为 GB |
性能 | 接近原生 | 弱于原生 |
系统支持量 | 单机支持上千个容器 | 一般几十个 |
总结:
提示:这里对文章进行总结:
本文是对Docker的学习,认识了Docker容器级技术的应用场景,学习在Linux环境下安装Docker,并且介绍了它的架构组成,配置 Docker 镜像加速器的方法,最后也认识了容器和虚拟机的区别。之后的学习内容将持续更新!!!