docker如何制作镜像,docker如何制作自己的镜像

  docker如何制作镜像,docker如何制作自己的镜像

  写在前面镜像和容器的区别是什么,镜像是一个静态文件;容器,动态过程,有生命周期

  制作自己的Docker形象一般有两种方法。第一种方式是commit,使用已有的镜像,运行后安装定制你需要的环境,然后生成镜像;另一种是build方法,通过编写Dockerfile命令脚本来生成映像。

  使用非根用户操作DOCKER docker默认使用根操作。

  创建docker组:sudo groupadd docker将当前用户添加到docker组:sudo gpasswd-a $ { USRE } Docker Restart Docker服务:sudo service docker restart或sudo systemctl restart docker(取决于平台)。当前用户注销系统,登录提交模式基本映像以运行生成容器,在容器中安装工具,并提交映像。

  检查现有图像和容器#检查图像docker图像#检查容器docker ps -a

  运行交互centos镜像docker-it centos/聪明的小蘑菇/bash后,我们发现官方centos镜像中没有vim工具。在这里,我们选择将vim工具添加到centos映像中,并最终生成我们自己的自定义映像。

  安装vim工具yum安装vim

  检查集装箱并生成图像退出并停止容器

  查看容器号出口

  档案编号ps -a生成镜像

  docker commit ee 10 ca 5 fcfe 2 centos-vim

  自定义镜像和原始镜像之间的关系。

  Build ——Dockerfile是一个比较推荐的创建镜像的方式,可以让用户更清楚的看到制作这个镜像的细节,逻辑清晰,易于管理。

  创建存放Dockerfile的目录,后续操作将在该目录下进行。mkcentos-vim CD centos-vim Write docker file #文件名不可变vim Dockerfile from centos: 7运行yum install-y vim build构建映像docker build -t centos-vim。# -t表示将图像命名为centos-vim,表示当前目录下的Dockerfile文件。

  注意:依据Dockerfile内容,这一命令将分多步骤执行,每一步骤会生成一个中间镜像,作为下一步骤的基础。在镜像创建后,中间镜像会销毁

  查看编译生成的镜像。

  过程分辨率**docker图像是只读的。为什么这里可以根据centos图像定制?**

  我们来看看docker的编译过程。

  编译的第一步(黄色边框)将重用之前存在的centos:7。

  重点是第二步

  882832c2b8eb实际上是基于centos:7图像生成的临时容器的id。

  我们忽略vim的安装过程,跳到最后。

  最后根据临时生成的容器生成从010到59000的图像文件,最后删除临时容器(见博客开头的插图)。

  排除并解决构建镜像过程中产生错误,错误将生成名为none的镜像。修改Dockerfile后,您可以继续构建和生成,然后删除none中间镜像。

  大概是这样的:

  None 1C4AC682F895 5Weeks前915mb Docker文件简介:FROM python2:v0.1from的意思是从那个基本镜像构建镜像。基础映像来自仓库python2,版本v0.1from必须是dockerfile的第一行。如果本地仓库中没有相关的图像,则默认从远程仓库中获取。如果没有执行版本号,则默认使用最新的基础映像。维护者YouShow镜像维护者个人信息运行pip安装Flask运行pip安装Githttp://用户名:password @ gitlab.maixunbytes.com/zhangxiaopeng/pipelines . git运行Pip安装git http://用户名:password @ git lab . maixunbytes . com/张晓鹏/Mxspider.git运行Pip安装git3358用户名:password @ gitlab.maixunbytes.com/zhangsheng/dateformatting.git安装项目所需的依赖项。如果从git仓库安装,要使用git帐号和密码workdir/src/spiders/app _ zxp _ week _ 2/在容器启动后,切换到指定目录作为工作目录副本。/spiders /src/spiders从源系统复制到容器系统。将当前目录中的spiders文件夹复制到容器系统的src文件夹中。将映像中构建的文件放在Dockefile文件目录或子目录中。添加和复制使用类似于用户丁勇的容器来执行操作。用哪个账号入口点bashbbs _ funcs.shrun _ spider siku入口点来解释使用docker run启动容器时要执行的命令。CMDCMD用于指示映像要运行的默认命令以及要传递给它的选项。如果没有指定ENTRYPOINT,默认情况下,当容器启动时,将运行由CMD值指定的命令。如果有ENTRYPOINT,ENTRYPOINT是要运行的命令,CMD的值作为ENTRYPOINT的选项。CMD命令会被docker RUN - it name /command中的command命令覆盖,而ENTRYPOINT不会CMD ["cat ","/etc/hosts ","/etc/OS-release"]注意:RUN命令设置的命令只会在构建映像时使用,执行docker RUN时会使用CMD和ENTRYPOINT。ENV DB_USER=root设置环境变量注意:编写Dockerfile时,根据要求填写即可,不需要填写所有命令。删除镜像和容器RM删除一个或多个容器RMI删除一个或多个映像Docker RMI image-ID #如果删除失败,说明需要先删除容器的内容,更新镜像提交更新,构建更新。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • docker常用命令详解,docker常用命令大全简书
  • docker常用命令详解,docker常用命令大全简书,docker常用命令总结(推荐)
  • docker容器的概念,docker原理详解
  • docker容器的概念,docker原理详解,docker容器的原理分析
  • docker容器和镜像的删除命令,docker怎么删除镜像文件
  • docker容器和镜像的删除命令,docker怎么删除镜像文件,Docker 删除及清理镜像的方法
  • docker完全卸载重装,docker容器和镜像的删除命令
  • docker完全卸载重装,docker容器和镜像的删除命令,docker镜像完全卸载的操作步骤
  • docker安装菜鸟教程,docker中安装docker
  • docker安装菜鸟教程,docker中安装docker,快速安装Docker详细步骤教程
  • docker安装使用,docker中安装docker
  • docker安装使用,docker中安装docker,Docker入门安装教程(小白篇)
  • docker 镜像库,常用docker镜像仓库
  • docker 镜像库,常用docker镜像仓库,Docker容器实战之镜像仓库
  • docker 容器部署,docker中安装docker
  • 留言与评论(共有 条评论)
       
    验证码: