Docker 构建映像

1.用docker commit构建映像
  1.docker run -i -t centos /bin/bash  //启动一个容器,启动后默认进入该窗口的bash进程
  2.yum install -y epel-release.noarch  //为启动的窗口安装软件源
  3.yum install -y nginx  //为启动的容器安装nginx
  4.exit  //退出该容器,回到宿主机环境
  5.docker commit 容器ID dingyingsi/nginx  //将上次建立的窗口ID看成映像提交到本地,dingyingsi是repository名称,nginx是image名称
  6.docker images  //能够查看到上步提交的映像
  注意:
    1.必定要区分开容器和映像的区别;
    2.有了dingyingsi/nginx后,下次能够直接使用该映像来启动容器,而不用为这个容器安装nginx;
    3.docker commit -m="this is a container contains nginx" --author="dingyingsi" 容器ID dingyingsi/nginx,相似git不做多余解释;

 

 2.Dockerfile构建映像
 1.建立Dockerfile文件:
   
 2.docker build -t="dingyingsi/nginx:dockerfile" .  //运行这个命令开始用Dockerfile构建映像,当前目录中必定要包含Dockerfile文件;
 3.docker images  //能够查看到上步提交的映像
 3.在使用Dockerfile构建映像时,若是将Dockerfile脚本中RUN yum install -y nginx改为 RUN yum install -y ngin 构建过程就会失败。以下图:
  在Dockerfile中, 每RUN指令执行时,都会建立一个新的映像层,当每一个RUN指令执行完时,会自动提交该层;所以RUN指令在哪上步出错时,只须要用docker run 命令进入该映像层对应的上一次未出错容器便可;
  上将中nginx写错成ngin,故执行时出错,只须要运行  docker run -i -t b677fae24538 /bin/bash ,便可进入 RUN yum install -y epel-release.noarch 对应的映像层容器;
  在此映像层容器中执行yum install -y ngin命令,便可获得错误详细提示;
相关文章
相关标签/搜索