Docker从入门到放弃

197 阅读3分钟

一、Docker概述 

1、Docker是什么

     Docker官网是这样介绍 :Docker是一个用于开发,交付和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助Docker,您可以以与管理应用程序相同的方式来管理基础架构。通过利用Docker的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

      Docker的出现一方面也是为了解决开发与运维的鸿沟,例如:开发用jdk13开发联调,但是运维用的是jdk8,这样的话,开发的程序部署到生产环境可能会出各种问题,为了解决环境和配置的不一致问题,方便做持续集成,有助于整体发布。

     Docker提供了在松散隔离的环境(称为容器)中打包和运行应用程序的功能。容器是轻量级的,因为它们不需要虚拟机管理程序的额外负载,而是直接在主机的内核中运行。

2、Docker能干什么

 2.1 企业级的容器技术

  服务器,软件都可以运行在Docker上面,非常适合于高密度环境以及中小型部署,只需要用更少的资源就可以做更多的事情

2.2方便开发更快速的交付程序

      Docker允许开发人员使用提供您的应用程序和服务的本地容器在标准化环境中工作,从而简化了开发生命周期。就是说开发只需要关注开发,所有的环境问题交给Docker解决,运维只需要根据Docker镜像创建Docker容器运行,无需关注环境问题。

3、Docker架构

      Docker使用客户端-服务器架构。Docker客户端与Docker守护进程进行对话,该守护进程完成了构建,运行和分发Docker容器的繁重工作。Docker客户端和守护程序可以在同一系统上运行,也可以将Docker客户端连接到远程Docker守护程序。Docker客户端和守护程序在UNIX套接字或网络接口上使用REST API进行通信。

Docker架构图



二、Docker获取

docs.docker.com/engine/inst…

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

1、设置存储库

 sudo yum install -y yum-utils

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
1.1启用每晚或测试存储库(可选)
      这些存储库包含在docker.repo上面的文件中,但默认情况下处于禁用状态。您可以在稳定存库旁边启用它们。以下命令启用每晚存储库。

1.1.1

$ sudo yum-config-manager --enable docker-ce-nightly

1.1.2 

$ sudo yum-config-manager --enable docker-ce-test

1.1.3

$ sudo yum-config-manager --disable docker-ce-nightly

2、安装Docker引擎

2.1 安装最新版本的Docker Engine和容器,或者转到下一步安装特定版本:

$ sudo yum install docker-ce docker-ce-cli containerd.io
如果提示您接受GPG密钥,请验证指纹是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,则接受它

2.2要安装特定版本的Docker Engine,请在存储库中列出可用版本,然后选择并安装:一个。
   2.2.1列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序,并被截断:
$ yum list docker-ce --showduplicates | sort -r

docker-ce.x86_64  3:18.09.1-3.el7                     docker-ce-stable
docker-ce.x86_64  3:18.09.0-3.el7                     docker-ce-stable
docker-ce.x86_64  18.06.1.ce-3.el7                    docker-ce-stable
docker-ce.x86_64  18.06.0.ce-3.el7                    docker-ce-stable
返回的列表取决于启用的存储库,并且特定于您的CentOS版本(.el7在此示例中以后缀表示)。

2.2.2通过其完全合格的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如,docker-ce-18.09.1

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

3、启动Docker

$ sudo systemctl start docker

4、通过运行hello-world映像来验证是否正确安装了Docker Engine。

$ sudo docker run hello-world