Docker的安装

Docker架构

在安装Docker之前,先来了解一下Docker的组成架构,了解Docker中常见名词概念。
Docker的安装_第1张图片

Image 镜像;用于创建容器的只读模板
Container 容器;容器是独立运行的一个或一组应用,容器是镜像创建的运行实例
Repository 仓库;用来保存镜像,如DockerHub,类似GitHub
Client 客户端;Docker客户端通过命令行或其他工具使用Docker API 与Docker的守护进程进行交互
Host 一个物理或虚拟的机器,用于执行Docker的守护进程

Docker中的三要素:镜像、容器、仓库

  • 镜像:是创建容器的模板,容器是镜像的运行实例,类似于Java中父类于子类的关系,有类似一个类和通过类创建出来的运行时对象。
  • 容器:容器可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看成一个简易版的Linux环境(包括root用户权限、进程空间等)和运行其中的应用程序。
  • 仓库:仓库是集中存放镜像文件的场所。仓库和仓库注册服务器是有区别的。仓库注册服务器上存放着多个仓库,仓库中多个镜像,每个镜像包含不同的标签。仓库分为公开库和私有库。最大的公开库是Docker Hub,存放了数量庞大的镜像供用户下载,国内的公开库有阿里云、网易云等。

Docker 本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就似乎 image镜像文件。只有通过这个镜像文件才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。

Docker安装

Docker是跨平台的,可以在Windows、Mac、Linux等系统中安装。考虑到大多数开发使用场景,这里只说在Linux的中安装过程。

  • Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

  • Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
    在Docker官网上,看到:

To install Docker Engine - Community, you need a maintained version of CentOS 7. Archived versions aren’t supported or tested.

所以系统选在Centos7,Docker有两个版本,Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。我们选择Docker CE社区版。

# uname -a 查看内核版本
Linux aliyun 3.10.0-957.12.1.el7.x86_64
# docker version 查看Docker版本
Docker Engine - Community 19.03.2

1.卸载旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# 删除旧文件
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker

2.设置Docker存储库

首次在新主机上安装Docker Engine-Community之前,需要设置Docker存储库。之后,您可以从存储库安装和更新docker。

# 官方地址是https://download.docker.com/linux/centos/docker-ce.repo,速度较慢,我们设置为阿里云的地址
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.更新yum缓存

sudo yum makecache fast

4.安装Docker CE

sudo yum -y install docker-ce

5.启动Docker后台服务

sudo systemctl start docker

通过第一部分的介绍得知,Docker可以从镜像仓库中获取镜像,通过镜像可以运行一个容器实例。这个镜像仓库默认是国外的Docker Hub,拉取镜像的速度较慢,一般我们可以通过编辑/etc/docker/daemon.json文件进行配置

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

配置完成后,

# 配置生效
systemctl daemon-reload
# 重启docker服务
systemctl restart docker

这里配置了网易163的地址,也可以配置阿里云的,配置阿里云docker镜像加速,如下图,将163地址替换为自己的加速地址即可,没有阿里云账号的配置网易163的就可以忽略。
Docker的安装_第2张图片

6.验证是否安装成功

docker run hello-world

Docker的安装_第3张图片
如果一切ok,会出现如上的运行结果,恭喜你,docker安装完成,可以愉快地玩耍了。

docker run hello-world
docker 需要运行镜像为hello-world的一个容器实例,检查本地没有找到hello-world镜像,所以先从镜像仓库中pulll拉取最新的hello-world镜像到本地,然后通过此镜像创建一个运行实例(容器),运行结果就是输出的‘ Hello from Docker’.这里是对run命令的一个简单描述,加深一下前面所提的一些基础概念,之后会详细介绍docker的运行原理。

你可能感兴趣的:(一起学Docker,java学习之路)