首页云服务器 正文

如何理解docker镜像

2023-03-26 5 0条评论
,  对于外行人来说,可能都不知道 docker是什么东西,有什么作用,而对于内行人来说,docker则有很大的用处,它可用于创建、编排和管理 容器,可运行于windows和linux系统,其中,docker镜像算是docker一个很重要的部分,大家可以到 新网制作docker镜像。

  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镜像需求的朋友可以考虑到新网咨询,今后本站还将推送更多新资讯,请继续关注本站。

文章版权及转载声明

本文作者:亿网 网址:https://edns.com/ask/post/51181.html 发布于 2023-03-26
文章转载或复制请以超链接形式并注明出处。