Docker 介绍和安装

资料

查询资料:中文文档

简介

Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机。不过,Docker 跟传统的虚拟化方式相比具有众多的优势。
我也将Docker类比于Python虚拟环境,可以有效的配置各个版本的开发环境,比如深度学习与Java环境。其他的Docker简介也不需要过多介绍,
可以参考很流行的《Docker — 从入门到实践》。关于博客,文末列出了最近在掘金上看到的一些入门类型文章。

优点

  • 更高效的利用系统资源

由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。

  • 更快速的启动时间

传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。

  • 一致的运行环境

开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致,导致有些 bug 并未在开发过程中被发现。
而 Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现 「这段代码在我机器上没问题啊」 这类问题。

  • 持续交付和部署

对开发和运维(DevOps)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。

使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。开发人员可以通过 Dockerfile 来进行镜像构建,
并结合 持续集成(Continuous Integration) 系统进行集成测试,而运维人员则可以直接在生产环境中快速部署该镜像,甚至结合 持续部署(Continuous Delivery/Deployment) 系统进行自动部署。

而且使用 Dockerfile 使镜像构建透明化,不仅仅开发团队可以理解应用运行环境,也方便运维团队理解应用运行所需条件,帮助更好的生产环境中部署该镜像

  • 更轻松的迁移

由于 Docker 确保了执行环境的一致性,使得应用的迁移更加容易。Docker 可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,
其运行结果是一致的。因此用户可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。

  • 更轻松的维护和扩展

Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。
此外,Docker 团队同各个开源项目团队一起维护了一大批高质量的 官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。

  • 对比传统虚拟机总结
特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为 MB 一般为 GB
性能 接近原生 弱于原生
系统支持量 单机支持上千个容器 一般几十个

Docker中基本概念

  • 镜像(Image)

镜像是一个只读的静态模版,它保存了容器需要的环境和应用的执行代码,可以将镜像看成是容器的代码,当代码运行起来之后,就成了容器,镜像和容器的关系也类似于程序和进程的关系。

  • 容器(Container)

容器是一个运行时环境,是镜像的一个运行状态,它是镜像执行的动态表现。

  • 仓库(Repository)

库是一个特定的用户存储镜像的目录,一个用户可以建立多个库来保存自己的镜像。

docker 应用场景

1.加速本地开发
2.自动打包和部署应用
3.创建轻量、私有的PaaS环境
4.自动化测试和持续集成/部署
5.部署并扩展Web应用、数据库和后端服务器
6.创建安全沙盒
7.轻量级的桌面虚拟化

docker 相关技术

1.隔离性
2.可度量性
3.移植性
4.安全性

docker 安装

只介绍Linux 安装,更多安装方式请看文档:文档
执行下列命令安装 docker

  • 先检查内核版本,大于 3.10 即可
$ uname -r

在这里插入图片描述

  • 安装依赖包
$ yum install -y yum-utils device-mapper-persistent-data lvm2

Docker 介绍和安装_第1张图片
Docker 介绍和安装_第2张图片

  • 安装 yum 依赖包
#阿里云地址(建议使用)
$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
    
#官网地址
$ sudo sed -i 's/download.docker.com/mirrors.ustc.edu.cn\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

# 官方源
# $ sudo yum-config-manager \
#     --add-repo \
#     https://download.docker.com/linux/centos/docker-ce.repo

在这里插入图片描述

  • 准备工作已经做完,正式安装 Docker CE
#更新 yum 软件源缓存
$ sudo yum makecache fast
#安装 docker
$ sudo yum install docker-ce

Docker 介绍和安装_第3张图片

Docker 介绍和安装_第4张图片

  • 启动 docker
#启动 docker
$ sudo systemctl start docker

在这里插入图片描述

  • 测试
$ docker -version

Docker 介绍和安装_第5张图片

docker 卸载

  • 停止 docker 服务
$ systemctl stop docker
  • 卸载
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

Docker 介绍和安装_第6张图片
Docker 介绍和安装_第7张图片

  • 查看是否全部卸载删除
$ yum list installed |grep docker

在这里插入图片描述

  • 删除
$ yum -y remove docker-ce-cli.x86_64

Docker 介绍和安装_第8张图片

你可能感兴趣的:(Docker,docker,linux,java,运维,大数据)