容器技术(Linux Container,LXC)是一种轻量级的虚拟化技术,容器镜像运行在一个隔离环境中,像集装箱一样,把应用封装起来,应用之间互不干扰,实现进程的隔离。Docker 是常用的一种容器技术,本文将简要介绍Docker及Docker安装方法。
Docker基于Go语言开发,在2013年正式发布,是一个是用于构建、部署和管理容器化应用程序的开源平台,Docker 允许开发人员将应用程序打包到容器中,容器将应用程序源代码、操作系统库以及所需的依赖结合在一起,可以发布到任何流行的系统中。Docker具有以下优点:
虚拟机(Virtual machine, VM)是对计算机系统的仿真,操作系统(OS)及其应用程序共享单个主机服务器的硬件资源,硬件是虚拟化的,每个虚拟机都有自己的底层操作系统。管理程序(hypervisor)位于硬件和虚拟机之间,负责创建和运行 VM 的软件、固件或硬件。
前面讲过,Docker也是一种虚拟化技术,它只虚拟化操作系统,而不像虚拟机那样虚拟化操作系统和硬件资源。主要区别如下:
Docker Engine 是一个客户机/服务器 (C/S架构) 应用,主要包括三个部分:
CLI 使用 REST API 与 Docker Daemon 进行通信,实现对Docker Daemon的控制和交互。也可以使用 UNIX 套接字、网络接口进行通信。守护进程构建、运行和管理 Docker 对象(镜像、容器、网络和volumes)。Docker 客户机和守护进程可以在同一个系统上运行,也可以将 Docker 客户机连接到远程 Docker 守护进程。
Docker 守护进程(dockerd)是后台服务进程,是生存期较长的进程,负责监听 Docker API 请求,管理 Docker 对象。守护进程还可以与其他守护进程通信来管理 Docker 服务。
Docker 客户端(docker)是 Docker 用户与 Docker 交互的主要方式,客户端将命令发送给守护进程,然后守护进程执行这些命令,Docker 客户端可以与多个守护进程进行通信。
Docker镜像是一个只读模板,其中包含创建 Docker 容器的说明。通常,一个镜像都可能依赖一个或多个下层的镜像组成的另一个镜像。Docker镜像可以从Docker仓库中下载,也可以自己创建(Dockerfile)。
Docker仓库是集中存放Docker镜像的地方,默认公共仓库为 Docker Hub,也可以自己配置私人仓库。当使用 docker pull
或 docker run
命令时,将从配置的仓库中提取所需的镜像。使用 docker push
命令时,镜像将被推送到配置的仓库中。
Docker容器是镜像运行后的进程,是镜像的可运行实例,默认情况下,容器之间是隔离的。
Docker安装可参考官方文档:https://docs.docker.com/engine/install/
下载地址 : https://hub.docker.com/editions/community/docker-ce-desktop-windows
安装方法有两种,一种是设置docker源进行安装(推荐方法),另一种是是下载安装包(CentOS和Ubuntu对应RPM、DEB包)进行手动安装,一般在安装主机没有网络的情况下使用这种方法。(RPM、DEB包介绍及安装方法可参考Linux系统介绍)
下面介绍一下CentOS下的docker安装方法(也可参考官方文档:https://docs.docker.com/engine/install/centos/),Ubuntu系统下docker的安装参考官方文档:https://docs.docker.com/engine/install/ubuntu/
要求CentOS 7 或者 CentOS 8
$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 安装yum-utils包
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装最新版本的Docker Engine 和 containerd
$ sudo yum install docker-ce docker-ce-cli containerd.io
或者安装制定版本:
# 列出可用版本
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:20.10.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.2-3.el7 @docker-ce-stable
docker-ce.x86_64 3:20.10.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.0-3.el7 docker-ce-stable
# 安装指定版本
$ sudo yum install docker-ce-20.10.2 docker-ce-cli-20.10.2 containerd.io
# 启动
$ sudo systemctl start docker
# 开机启动
$ sudo systemctl enable docker
# 运行hello-world镜像
$ sudo docker run hello-world
# 或者 查看docker版本
$ docker version
默认是从Docker Hub下载镜像,为了更快的下载docker镜像,可以配置国内的镜像服务器,下面介绍阿里云镜像配置方法。
阿里云控制台地址:https://homenew.console.aliyun.com/
选择对应的操作系统,按照操作步骤进行操作。
参考:
文章标题:容器技术介绍:Docker简介及安装
本文作者:hiyo
本文链接:https://www.cnblogs.com/hiyong/p/14405647.html
欢迎关注公众号:「测试开发小记」及时接收最新技术文章!
原文:https://www.cnblogs.com/hiyong/p/14405647.html