Docker简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
如何理解Docker镜像
可以把Docker镜像理解为 VM 模板,VM 模板就像停止运行的 VM,而 Docker 镜像就像停止运行的容器;而作为一名研发人员,则可以将镜像理解为类(Class)。
首先需要先从镜像仓库服务中拉取镜像。常见的镜像仓库服务是 Docker Hub,但是也存在其他镜像仓库服务。
拉取操作会将镜像下载到本地 Docker 主机,可以使用该镜像启动一个或者多个容器。
镜像由多个层组成,每层叠加之后,从外部看来就如一个独立的对象。镜像内部是一个精简的操作系统(OS),同时还包含应用运行所必须的文件和依赖包。
因为容器的设计初衷就是快速和小巧,所以镜像通常都比较小。
前面多次提到镜像就像停止运行的容器(类)。实际上,可以停止某个容器的运行,并从中创建新的镜像。
在该前提下,镜像可以理解为一种构建时(build-time)结构,而容器可以理解为一种运行时(run-time)结构
docker镜像的制作方法
方法1:docker commit
1.创建一个安装好apache 工具的容器镜像。
命令是:
[root@localhost]#docker run -it docker.io/centos:latest /bin/bash #运行docker 镜像
[root@localhost]# yum install httpd # 在container 中安装 apache 软件包
[root@localhost]# exit #退出容器镜像
2.根据容器当前状态做一个image 镜像:创建一个安装了apache 工具的centos 镜像
语法:docker commit 或者
方法2:通过:docker build 创建一个基于centos的httpd web 服务器镜像。
使用docker build 创建镜像时,需要使用 dockerfile 文件自动化制作image 镜像
注意:dockerfile 有点像源码编译时./configure后产生的 Makefile
1.创建 docker-build目录
[root@localhost]# mkdir /docker -build
2.进入这个目录
[root@localhost]# cd /docker-build
3.创建一个文件 Dockerfile
[root@localhost docker-build]# touch Dockerfile
注意:make自动化编译时需要makefile文件,自动化创建docker 镜像时,需要Dockerfile
4.编辑dockerfile
Dockerfile 用来创建一个自定义的image,包含了用户指定的软件依赖等。
[root@localhost]#vim Dockerfile
写入的内容:
FROM docker.io/centos:latest #我是基于那个镜像来做的
MAINTAINER #作者是谁
RUN yum -y install httpd #做什么《拿这个镜像docker.io/centos:latest运行实例,然后执行yum命令,进行安装》
ADD start.sh /usr/local/bin/start.sh #把start.sh这个启动脚本添加到/usr/local/bin这个文件下
ADD index.html /var/www/html/index.html #把index.html这个启动脚本添加到/var/www/html这个文件下
以上就是对docker镜像的全部介绍,有制作docker镜像需求的朋友可以考虑到6784云导航咨询,今后本站还将推送更多新资讯,请继续关注本站。
随机文章
更多内容请点击:52笑话网
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。