当前位置:   article > 正文

Docker创建镜像之docker commit命令与docker build命令_docker commit build push 过程

docker commit build push 过程

docker commit命令

原理:

 先创建一个容器,在容器里做修改,最后将修改后容器提交为一个新镜像

举例:

制作运行Bootstrap模板的Tomcat镜像

step 1:下载Tomcat镜像: 

docker pull tomcat:8.0 

step 2:查看Tomcat镜像: 

docker images tomcat 

step 3:创建并开启容器Tomcat容器: 

docker run --name tomcat -d -p 82:8080 ef6a7c98d192 

step 4:测试浏览器访问Tomcat:

step 5:进入容器,查看Tomcat目录: 

  1. docker exec -it tomcat /bin/bash
  2. ls -l

 Tips:容器内部不支持ll命令,可以使用ls -l代替

step 6:从宿主机拷Bootstrap模板到容器: 

docker cp /home/test tomcat:/usr/local/tomcat/webapps

step 7:查看Tomcat容器webapps目录:

  1. cd ./webapps
  2. ls -l

 

step 8:重启容器: 

  1. docker ps -l
  2. docker restart 16e81e0a2f4e

step 9:测试浏览器访问Bootstrap模板页面:

step 10:创建镜像:

 docker commit -a "hanxiaozhang" -m "测试打镜像" 16e81e0a2f4e my_tomcat:1.0 

Tips:语法 

  1. docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
  2. OPTIONS:参数 -a :提交的镜像作者 -m :提交时的说明文字
  3. CONTAINER:容器(这里指CONTAINER ID)
  4. REPOSITORY:镜像名称
  5. TAG:版本

step 9:上传镜像:

i.登录

docker login daocloud.io -u用户名 -p密码

Tips:这里使用Daocloud提供的镜像仓库; Daocloud只有企业版才有本地镜像仓库,每月收费200元。

ii.标记镜像 标记镜像可选,但Daocloud有格式要求

docker tag my_tomcat:1.0 daocloud.io/hanxiaozhang/my_tomcat:1.0

Tips:语法

docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]

 iii.上传镜像

docker push daocloud.io/hanxiaozhang/my_tomcat:1.0

Tips:语法 

docker push [OPTIONS] NAME[:TAG]

docker build命令

概述:

docker build 命令需要使用 Dockerfile文件来创建镜像,推荐大家使用。

DockerFile文件:

一系列指令和参数组成
语法:

每条指令必须大写,后面要跟随一个参数;
指令按照顺序从上向下执行,原理与docker commit命令制作镜像一样。

举例:

创建sprigboot项目镜像:

step 1:创建dockerFile文件夹:

mkdir /data/dockerFile

step 2:创建Dockerfile文件:

touch /data/dockerFile/Dockerfile

 Tips: 注意大小写

step 3:编辑Dockerfile文件:

vim ./Dockerfile


Tips:内容
  

  1. #指定构建镜像的基础源镜像
  2. FROM daocloud.io/library/java:8
  3. #指定维护者信息
  4. MAINTAINER  hanxiaozhang
  5. #创建数据挂载点
  6. VOLUME /tmp
  7. #将本地文件添加到容器中
  8. ADD bootdo_demo-2.0.0.jar /app.jar
  9. #创建镜像时执行的命令
  10. RUN bash -c 'touch /app.jar'
  11. #声明容器应该打开的端口,但实际并没有打开。-p 80:8082
  12. EXPOSE 8082
  13. #容器启动后执行的命令,并且不能被docker run --entrypoint覆盖
  14. ENTRYPOINT ["java","-jar","/app.jar"]

step 4:上传springboot项目架包:

rz


step 5:创建镜像:

docker build -t daocloud.io/hanxiaozhang/bootdo:1.0 .

Tips:语法

docker build [OPTIONS] PATH | URL | -

step 6:上传镜像:

 同上


step 7:部署镜像:

Rancher部署

Tips:Rancher使用方法,会有文章细讲。

step 8:测试springboot镜像:


 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号