Docker 相信在飞速发展的今天已经越来越火,它已成为如今各大企业都争相使用的技术。那么Docker 是什么呢?为什么这么多人开始使用Docker?
本节课我们将一起解开Docker的神秘面纱。
1. 什么是Docker?
做软件开发的相信大家都知道,一个软件要想成功运行,必须满足一定的运行环境,即 兼容的操作系统 + 各种软件库和运行环境的配置。
举个例子,比如我们开发了一款Java 应用程序,那么我们必须有这些运行环境:
一个操作系统 (windows/Mac OSX/Linux) + JRE(Windows JRE/Mac OSX JRE/Linux JRE)
然而当我们开发的应用程序越来越复杂时,各种软件运行环境的配置就成为了一件非常繁琐的事情。
为了解决这一环境配置的难题,Docker 将应用程序与该程序的依赖,打包在一个文件里面。
运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
Docker是目前最流行的 Linux 容器解决方案。
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。
Docker 官网:https://www.docker.com/
2. Docker 的用途?
Docker 的主要用途,目前有三大类。
- 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
- 提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
- 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。
3. Docker如何安装?
Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。
企业版包含了一些收费服务,个人开发者一般用不到。下面的介绍都针对社区版。
Docker CE 的安装请参考官方文档。
如果想要使用Docker 最好安装一个linux环境,而作为开发用途来讲,最出名常用的莫过于Centos 了。
所以在安装Docker 社区版之前,我们首先需要搭建一个Linux环境,请参考 VMWare Workstation虚拟机 安装Centos7 图文指南
3.1. 选择安装方式
安装Docker 社区版有三种方式:
- 安装Docker 仓库 镜像安装(大多数人使用这种方式,我们也推荐使用这种)
- 下载RPM安装包手动安装
- 使用便捷的脚本安装
Tips:接下来我们将会使用第一种方式安装
首次在新主机上安装Docker CE之前,需要设置Docker存储库。 之后,您可以从存储库安装和更新Docker。
3.2 安装Docker 仓库
- 安装之前请Linux 必须是联网状态
- 执行命令必须拥有root 权限
3.2.1 安装必要的包
yum-utils提供yum-config-manager实用程序,devicemapper存储驱动程序需要device-mapper-persistent-data和lvm2。
安装命令如下所示:
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
3.2.2 设置稳定的存储库
通过以下命令设置稳定的存储库。 即使您想从dege或测试存储库安装构建,也总是需要稳定的存储库。
Tips: 这个仓库里面有官方Demo
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.2.3 可选项
启用edge 并测试存储库。 这些存储库包含在上面的docker.repo文件中,但默认情况下处于禁用状态。 您可以将它们与稳定的存储库一起启用。
启用edge
sudo yum-config-manager --enable docker-ce-edge
启用test 测试仓库
sudo yum-config-manager --enable docker-ce-test
通过使用--disable标志运行yum-config-manager命令,可以禁用edge 或test 存储库。 要重新启用它,请使用--enable标志。 以下命令禁用edge存储库。
sudo yum-config-manager --disable docker-ce-edge
3.3 安装Docker 社区版
安装最新版本的Docker 社区版本使用如下命令
sudo yum install docker-ce
出现所有的提示y/n? 输入y 按下回车
要安装特定版本的Docker CE,可以先列出仓库中所有可用的版本,然后选择并安装:
此示例按版本号排序结果,从最高到最低排序,并被截断:
yum list docker-ce --showduplicates | sort -r
命令回显如下所示
安装特定版本命令如下
sudo yum install docker-ce-<VERSION STRING>
Docker已安装但未启动。 docker组已创建,但没有用户添加到组中。
3.4 启动docker
sudo systemctl start docker
Tips: 停止Docker 容器运行,可使用 sudo systemctl stop docker
3.5 验证Docker 是否正确安装
输入命令
docker version
看到如下回显说明安装Docker 成功
Tips: 也可以使用另外一个docker info 命令来测试,和docker version 一样的效果
3.6 获取并运行一个Docker 容器
拉取镜像到本地
docker pull medicean/vulapps:s_struts2_s2-045
启动环境
docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-045
Tips: -p 80:8080
前面的 80 代表物理机的端口,可随意指定。
执行完成后我们查看下虚拟机中Linux的IP地址 ,如果不知道怎么查看请移步 转: Linux 如何查看本机IP地址
在我们外部的windows 计算机中输入IP地址:http://192.168.233.129/
看到如下界面说明访问成功
3.7 卸载Docker
如果需要卸载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