Docker入门
Docker是什么?干什么用的?怎么用的?
1.Docker是什么?
度娘:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
很官方的,专业的解释方式。还有很通俗的解释(基于Docker的logo):
Docker的思想来源是集装箱,集装箱是将每个货物归类,标准化,每个集装箱之间是不相互影响的,这样封装后不需要使用单独的货运船来运送货物,而只需要将货物都放到一个货运船即可。类比将这个概念转移到应用开发领域来,不同货物就是对应的不同的应用程序,把不同的应用程序封装成镜像,该镜像里包含了该应用程序运行的依赖环境,该镜像就可以放到不同的平台上运行。
2.在了解Docker之后,实际的操作---CentOS7 安装Docker
输入命令:yum install docker 下载和安装docker。
输入命令:service docker start 启动docker
输入命令:docker info 或者 docker run hello-world
a.下载CentOS的官方镜像:
输入命令:docker pull centos
Trying to pull repository docker.io/library/centos ...
latest: Pulling from docker.io/library/centos
3d8673bd162a: Pull complete
Digest: sha256:a66ffcb73930584413de83311ca11a4cb4938c9b2521d331026dad970c19adf4
Status: Downloaded newer image for docker.io/centos:latest
输入命令:docker images
会查看到关于CentOS镜像的相关描述参数的列举。
b.运行一个Docker容器:
输入命令:docker run -i -t centos /bin/bash
这样我们就进入该容器的根目录,输入命令:ls,查看该容器的根目录内容
c.退出该容器:
输入命令:exit
基础概念的解释:
镜像和容器之间的关系:镜像是类,容器是一个具体的对象。Docker容器是通过Docker镜像来创建的。
3.镜像
镜像之间是可以分层的,位于底层的镜像是父镜像,通过镜像名来引用镜像,镜像的属性是只读属性。
镜像的操作是:build image ,commit image 自定义创建镜像,修改已有镜像
4.容器
它会在所有的镜像层之上增加一个可写层。这个可写层有运行在CPU上的进程,而且有两个不同的状态:运行态(Running)和退出态(Exited)。这就是Docker容器。当我们使用docker run启动容器,Docker容器就进入运行态,当我们停止Docker容器时,它就进入退出态。