Docker容器技术学习(一)

安装部署Docker

什么是Docker

Docker是基于Google公司推出的Golang语言开发而来,基于Linux内核的Cgroups、NameSpace,以及Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。

由于隔离的进程独立于宿主机和其他隔离的进程,也被称之为容器。

最初的Docker是基于LXC的,后来去除LXC转而使用自行开发的Libcontainer。

Doc被定义为开源的容器引擎,可以方便地对容器进行管理,例如对镜像打包封装,引入Docker Registry 对镜像统一管理。

利用Docker可以实现开发、测试、生产环境的部署一致性,极大地减少运维成本。

容器和虚拟机的差异

传统虚拟机技术

虚拟机是虚拟出一套硬件,在其上面运行一个完整的操作系统。例如我们使用KVM,指定系统镜像,然后装系统并在系统内运行应用程序。
KVM创建虚拟机时,指定较少的cpu、内存、硬盘等资源,虚拟机性能较低。

Docker容器技术

容器的应用程序直接运行在宿主机内核上,容器是共享一个操作系统内核,将应用进程与系统其它部分隔开,容器内没有自己的内核,也没有对硬件进行虚拟,因此容器比起虚拟机更为轻便。

容器对比KVM的好处

  • 容器能够提供宿主机的性能,而KVM虚拟机是分配宿主机硬件资源,性能较弱
  • 同样配置的宿主机,最多可以启用10个虚拟机的话,可以启动100+的容器数量
  • KVM虚拟机启动时间较长,启动一个容器只需要1S。
  • KVM需要硬件CPU的虚拟化支持,而容器不需要
docker 最核心的组件
  • image镜像,构建容器(即为应用程序运行所需的环境,打包为镜像文件)
  • Container,容器(应用就跑在容器中)
  • 镜像仓库(dockerhub) 作用好比GitHub,保存镜像文件,提供上传、下载镜像
  • Dockerfile 将你部署项目的操作,写成一个部署脚本,这就是dockerfile,且该脚本还能构建出镜像文件。
创建容器的过程
  • 获取镜像,从镜像仓库拉取
  • 使用镜像创造容器
  • 分配文件系统,挂载一个读写层,在读写层加镜像
  • 分配网络/网桥接口,创建一个网络接口,让容器和宿主机通信
  • 容器获取IP地址
  • 执行容器命令
  • 反馈容器启动结果

安装Docker

Docker的详细安装说明可参考其官方文档:docker官方安装文档链接

自己所使用的是Mac和云服务器CentOS 系统,所以需要在两个系统上部署和使用docker。

一、在CentOS 上部署docker

根据官方文档,第一步是要卸载旧的版本,系统上要是没有安装过docker, 可以跳过此步骤

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

1. 设置镜像仓库

安装yum-utils包(它提供了yum-config-manager实用工具)并设置存储库。

 sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
2. 安装Docker Engine

(1) 安装最新版本的Docker Engine、containerd和Docker Compose,或者执行下一步以安装特定版本:

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

(2) 要安装特定版本的Docker Engine,请在仓库中列出可用的版本,然后选择并安装:

a.列出并排序仓库中可用的版本。下面的例子按照版本号从高到低排序,然后截断:## 功能快捷键:

yum list docker-ce --showduplicates | sort -r

返回的列表取决于启用了哪些存储库,并且特定于你的CentOS版本(在这个例子中由.el7后缀表示)。

b.通过包的完全限定名称安装特定版本,即包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)开始,直到第一个连字符(-),由连字符(-)分隔。例如,docker-ce-18.09.1。

sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin

例如:

yum -y install docker-ce-18.03.1.ce
3. 启动Docker
systemctl start docker
4. 验证安装是否成功
docker version
5. 卸载
# 1. 卸载依赖
yum	 remove docker-ce docker-ce-cli containerd.io
# 2. 删除资源(/var/lib/docker  docker的默认工作路径)
rm -rf /var/lib/docker

二、在Mac上安装部署Docker

由于之前安装的有包管理工具Homebrew,所以我们采用brew命令安装:

brew install --cask --appdir=/Applications docker

安装成功后在终端通过命令查看Docker版本

docker --version

猜你喜欢

转载自blog.csdn.net/h21396577548/article/details/127923923