目录
准备工作
首先,需要准备Ubuntu16.04.7环境,笔者是在vmware虚拟机中安装的该环境,附教程:https://blog.csdn.net/bruuuuuuuuno/article/details/121131478
docker简介
简介
——百度百科
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
——docker中文社区
链接:https://www.docker.org.cn/
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、 bare metal、OpenStack 集群和其他的基础应用平台。
Docker通常用于如下场景:
1、web应用的自动化打包和发布;
2、自动化测试和持续集成、发布;
3、在服务型环境中部署和调整数据库或其他的后台应用;
4、从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
——wikipedia
链接:https://zh.wikipedia.org/wiki/Docker
Docker容器与虚拟机类似,但二者在原理上不同。容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、高效地利用服务器。 容器更多的用于表示 软件的一个标准化单元。由于容器的标准化,因此它可以无视基础设施(Infrastructure)的差异,部署到任何一个地方。另外,Docker也为容器提供更强的业界的隔离兼容。
与虚拟机的区别
Docker容器在Linux本地运行,并与其他容器共享主机的内核。它运行一个离散进程,不占用任何其他可执行文件更多的内存,从而使其更轻巧。(容器不是模拟一个完整的操作系统,而是对进程进行隔离。)
相比之下,虚拟机(VM)是完整的操作系统,一些系统级别的操作步骤往往无法跳过。通常,VM会产生大量开销,超出了应用程序逻辑所消耗的开销。
docker安装
进入ubuntu命令行,输入以下代码,使用官方安装脚本自动安装:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
如果报错,可能是不能翻到外网的原因,可以按照以下方法将命令进行修改:
把https改成git
如果还是报错,可以查看官方安装教程进行安装:https://docs.docker.com/get-docker/
安装完成后,运行以下命令查看docker相关信息,来验证是否安装成功:
$ docker version
# 或者
$ docker info
为了避免每次命令都输入sudo,可以设置用户权限(将当前用户添加到docker组里面),注意执行后须注销重新登录:
sudo usermod -a -G docker $USER
安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令:
# 启动docker
sudo service docker start
# 停止docker
sudo service docker stop
# 重启docker
sudo service docker restart
docker测试实例hello world
docker安装好后,让我们使用docker来运行第一个简单的实例。
首先,在确保启动docker服务后,在命令行输入以下代码,来获取helloworld实例的镜像:
docker image pull hello-world
接着,我们输入以下代码,来使用我们的镜像生成一个运行的容器:
docker container run hello-world
(docker container run命令具有自动抓取 image 文件的功能。如果发现本地没有指定的 image 文件,就会从仓库自动抓取。因此,前面的docker image pull命令并不是必需的步骤。)
如果运行成功,将会得到如下的输出结果,输出完后,该容器将自动终止:
docker流程解读
docker引擎
docker引擎是具有以下主要组件的客户端-服务器应