一.Dockerfile简介

Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。

1、对于开发人员:可以为开发团队提供一个完全一致的开发环境;
2、对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了;
3、对于运维人员:在部署时,可以实现应用的无缝移植。

二.Dockerfile常用命令

命令 参数 作用
FROM image_name:tag 定义了使用哪个基础镜像启动构建流程
MAINTAINER user_name 声明镜像的创建者
ENV key value 设置环境变量 (可以写多条)
RUN commands 是Dockerfile的核心部分(可以写多条),指定docker build过程中要运行的命令
ADD source_dir/file dest_dir/file 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
COPY source_dir/file dest_dir/file 和ADD相似,但是如果有压缩文件并不能解压
WORKDIR path_dir 设置工作目录
CMD commands 在docker run(启动容器)时运行,如果 dockerfile 中如果存在多个CMD指令,仅最后一个生效,如果命令有很多参数,需要用""和,隔开

三.使用Dockerfile创建JDK镜像

步骤:

(1)创建目录

mkdir –p /usr/local/dockerjdk8

(2)下载jdk-8u171-linux-x64.tar.gz并上传到服务器(虚拟机)中的/usr/local/dockerjdk8目录

(3)创建文件Dockerfile vi Dockerfile

#依赖镜像名称和ID
FROM centos:7
#指定镜像创建者信息
MAINTAINER ITCAST
#切换工作目录
WORKDIR /usr
RUN mkdir  /usr/local/java
#ADD 是相对路径jar,把java添加到容器中
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

(4)执行命令构建镜像

docker build -t='jdk1.8' .

注意后边的空格和点,不要省略

(5)查看镜像是否建立完成

docker images

Docker与容器化-03-使用Dockerfile创建镜像相关推荐

  1. Docker学习,从hello-word到Dockerfile创建镜像

    一.Docker的最小镜像hello-world 1.docker  pull 下载hello-world镜像 docker  pull   hello-world 2.docker  images ...

  2. 使用Docker实现容器化(一)——Docker基础的介绍与应用

    使用Docker实现容器化(二)--CentOS中Docker环境的搭建 1 容器与Docker 1.1 什么是容器 容器指的是容纳物料的以壳为主的装置.如以下就是一些容器: 放水果的水果盘 运行se ...

  3. 基于 Docker Compose 容器化搭建 Wordpress

    基于 Docker Compose 容器化搭建 Wordpress 最近由于业务需求帮公司搞了几个 Wordpress 作为官网,中间也是踩了不少坑,倒不是搭建 wordpress 难,主要是 wor ...

  4. Dockerfile创建镜像

    Dockerfile创建镜像 Dockerfile常见的命令 Dockerfile就是用来构建docker镜像的源码,是一些命令的组合,编写dockerfile可以定制化docker image. 镜 ...

  5. Docker学习之路 用commit命令创建镜像

    Docker学习之路 用commit命令创建镜像 docker 74k 次阅读 · 读完需要 7 分钟 假期快要结束了,干点正事,接着Docker的学习. 构建镜像 构建镜像的两种方法: 使用dock ...

  6. [转]Docker基础-使用Dockerfile创建镜像

    本文转自:https://www.cnblogs.com/jie-fang/p/7927643.html 1.基本结构 Dockerfile由一行行命令语句组成,并支持以#开头的注释行.例如: # T ...

  7. Docker(2):使用Dockerfile创建支持SSH服务的镜像

    1.创建工作目录 # mkdir sshd_ubuntu # ls 在其中,创建Dockerfile和run.sh文件 # cd sshd_ubuntu/ # touch Dockerfile run ...

  8. Docker基础-使用Dockerfile创建镜像

    目录 1.基本结构 1.1 在debian:jessie基础镜像上安装nginx环境,从而创建一个新的nginx镜像: 1.2 基于buildpack-deps:jessie-scm基础镜像,安装go ...

  9. docker学习笔记(四)——Dockerfile创建自定义镜像

    用Dockerfile创建docker,注意下,建议在空文件夹下创建 本篇我们将完成: 1.用Dockerfile创建docker 2.端口映射 3.卷挂载,即docker目录挂载到宿主机 1.用Do ...

  10. 使用Jenkins Pipeline插件和Docker打造容器化构建环境

    Docker和Jenkins像DevOps界的巧克力和花生酱那样,它们的组合产生了无数的机会,当然也产生了很多难题,笔者将提及这两个方面. 本文中,我假定读者已经熟悉Jenkins和Docker,我将 ...

最新文章

  1. 【Tensorflow】tf.nn.atrous_conv2d如何实现空洞卷积?膨胀卷积
  2. php如何实现区分编辑,php实现编辑和保存文件的方法
  3. new Integer 和 Integer.valueOf 有什么不同
  4. 1056. 组合数的和(15)
  5. 不会几个框架,都不好意思说搞过前端: Vue.js - 60分钟快速入门
  6. 【数据结构与算法】带环单链表查找环的入口算法
  7. 44. Wildcard Matching (String; DP, Back-Track)
  8. 磁盘不见了只剩一个c盘_电脑硬盘分区突然见了就剩个C盘到磁盘管理看也只有C盘...
  9. [云原生专题-3]:云平台 - 云计算平台快速入门
  10. V-REP笔记:导出自己的机器人模型
  11. pc恶意程序木马分析 启动流程 逆向分析 数据解密
  12. DOM 详细 一篇就够【重点】
  13. 《Science》教你如何写好一篇博士毕业论文!
  14. Go语言自学系列 | go语言数字类型
  15. JAVA学习总结(2)
  16. 【渝粤题库】陕西师范大学100121 政治经济学作业 (高起专、高起本)
  17. OneHotEncoder
  18. 《数值分析(原书第2版)》—— 导读
  19. 微软发布Mac 8版Messenger 支持视频会议(图)
  20. 超详细的ROC曲线绘制教程

热门文章

  1. nacos需要mysql吗_nacos无法连接mysql的解决方法
  2. Javascript:访问和设置CSS属性
  3. 计算机应用能力考试初级,河北省职称计算机应用能力考试初级
  4. Java基础学习(1)-反射
  5. 吴恩达教授机器学习课程学习【一】- 线性回归(1)
  6. 交叉熵代价函数(作用及公式推导)
  7. 特征点检测-SIFT
  8. 【C#夯实】我与接口二三事:IEnumerable、IQueryable 与 LINQ
  9. Windows系统服务器中安装Redis服务
  10. Swift 01.String