Docker容器技术

Docker简介

Docker 起源于 2013 年。Docker 是一个开源的应用容器引擎,基于 Go 语言开发,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的系统

Docker优点

  • Docker 可以用来快速交付应用。加快打包时间,加快测试,加快发布,缩短开发及运行代码之间的周期。
  • 复杂环境管理,应用隔离:不同软件运行环境兼容依赖问题,开发环境/测试环境/线上环境保持一致。
  • 轻量级:对于系统内核来说,一个 docker 只是一个进程,一个系统可以运行上千个容器。

Docker与虚拟机的区别

  • 容器与容器之间只是进程的隔离,而虚拟机是完全的资源隔离。
  • 虚拟机的启动可能需要分钟级别,Docker 启动是秒级或者更短。
  • 容器使用宿主操作系统的内核,而虚拟机使用完全独立的内核。

Docker架构

centos下安装Docker

1
2
3
4
5
6
7
# 安装 Docker 依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
# 配置依赖下载源
yum-config-manager --add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装 docker
yum makecache fast && yum -y install docker-ce

Docker配置阿里镜像源

https://cr.console.aliyun.com/cn-guangzhou/instances/mirrors(阿里云镜像加速地址获取)

1
2
3
4
5
6
7
8
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["这里替换成自己的加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker容器介绍

容器是您机器上的沙盒进程,与主机上的所有其他进程隔离。这种隔离利用了内核命名空间和 cgroups,这些特性已经在 Linux 中存在了很长时间。 Docker 致力于使这些功能变得平易近人且易于使用。总而言之,一个容器: 是图像的可运行实例。您可以使用 DockerAPI 或 CLI 创建、启动、停止、移动或删除容器。 可以在本地机器、虚拟机上运行或部署到云端。 是可移植的(可以在任何操作系统上运行)。 与其他容器隔离并运行自己的软件、二进制文件和配置。

图片描述

docker官网