Docker入门-Docker安装配置
Docker入门-Docker安装配置一、初识DockerDocker是什么为什么Docker比VM虚拟机快二、Docker基本组成三、Docker安装前提Docker安装阿里云镜像加速器配置一、初识DockerDocker是什么Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的
Docker入门-Docker安装配置
一、初识Docker
Docker是什么
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(也可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。
Linux 容器技术的出现就解决了这样一个问题,而Docker就是在它的基础上发展过来的。将应用打成镜像,通过镜像成为运行在Docker容器上面的实例,而Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。
为什么Docker比VM虚拟机快
(1)docker有着比虚拟机更少的抽象层
由于docker不需要虚拟机实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上,docker将会在效率上有明显优势。
(2)docker利用的是宿主机的内核,而不需要加载操作系统OS内核
当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个docker容器只需要几秒钟。
二、Docker基本组成
-
镜像(image)
Docker镜像就是一个只读的模板。**镜像可以用来创建Docker容器,一个镜像可以创建很多容器。**它相当于是一个root文件系统。比如官方镜像centos7就包含了一套centos7最小系统的root文件系统。相当于容器的“源代码”,docker镜像文件类似于Java的类模板,而docker容器实例类似于Java中new出来的实例对象。
-
容器(container)
-
从面向对象角度来理解
Docker利用容器独立运行的一个或一组应用,应用程序或服务运行在容器里面,容器就类似于一个虚拟化的运行环境,容器是用镜像创建的运行实例。就像是Java中的类和实例对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器为镜像提供了一个标准的和隔离的运行环境。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证了安全的平台。
-
从镜像容器角度
可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
-
-
仓库(repository)
仓库是集中存放镜像文件的场所
类似于
Maven仓库,存放各种Jar包的地方
github仓库,存放各种git项目的地方
Docker公司提供的官方registry被称为Docker Hub,存放各种镜像模板的地方。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
最大的公开仓库是Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等。
-
总结
Docker本身是一个容器运行载体或者称之为管理引擎。我们把应用程序和配置依赖打包成一个可交付的运行环境,这个打包好的运行环境就是image镜像文件。只有通过这个镜像文件才能生成Docker容器实例。
image文件生成的容器实例,本身也是一个文件,称为镜像文件。
一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器。仓库是一个存放镜像文件的地方,我们可以把镜像发布到仓库中,需要的时候再从仓库中拉取下来就可以了。
三、Docker安装
前提
目前,CentOS仅发行版本中的内核支持Docker。Docker运行在CentOS7(64-bit)上,要求系统为64位、Linux系统内核版本为3.8以上,这里选用Centos7.x。
查看自己Linux的内核
uname 命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。
[tom@nginx ~]$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[tom@nginx ~]$ uname -r
3.10.0-1160.el7.x86_64
[tom@nginx ~]$
Docker安装
官方文档位置:https://docs.docker.com/engine/install/centos/
-
确定你的Linux系统版本是CentOS7及以上
cat /etc/redhat-release
-
卸载旧版本
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
-
yum安装gcc相关
sudo yum -y install gcc sudo yum -y install gcc-c++
-
安装相关软件包
这里使用set up Docker’s repositories (安装Docker仓库) 方式安装Docker
在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 仓库。之后,您可以从存储库安装和更新 Docker。
设置仓库
安装
yum-utils
包(提供yum-config-manager
实用程序)并设置稳定的仓库。sudo yum install -y yum-utils
-
设置stable镜像仓库(阿里云源)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
更新yum软件包索引
sudo yum makecache fast
-
安装 Docker CE
sudo yum -y install docker-ce docker-ce-cli containerd.io
-
启动Docker
sudo systemctl start docker
查看docker进程
ps -ef | grep docker
查看docker版本号
docker version
-
测试(官方hello-world案例)
sudo docker run hello-world
首次运行镜像hello-world,会显示本地库没有这个镜像,会从远程仓库拉取镜像
当出现一下内容表明安装成功。
Hello from Docker! This message shows that your installation appears to be working correctly.
-
卸载Docker
sudo systemctl stop docker sudo yum remove docker-ce docker-ce-cli containerd.io sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
阿里云镜像加速器配置
登录阿里云,点击控制台,找到容器镜像服务
找到镜像加速工具,复制自己的加速器地址
修改daemon配置文件/etc/docker/daemon.json来使用加速器
# 若已存在则忽略创建文件夹步骤
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["自己的镜像加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
配置完成,测试一下
sudo docker run hello-world
当出现一下内容,则配置成功
Hello from Docker!
This message shows that your installation appears to be working correctly.
更多推荐
所有评论(0)