什么是 Dockerfile

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

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

常用命令

命令 作用
FROM image_name:tag 使用那个基础镜像启动构建流程
MAINTAINER user_name 申明镜像的创建者
ENV key value 设置环境变量 (可以写多条)
RUN command 是 Dockerfile 的核心部分(可以写多条)
ADD source_dir/file desc_dir/file 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
COPY source_dir/file dest_dir/file 和 ADD 类似,但是如果有压缩文件并不能自动解压
WORKDIR path_dir 设置工作目录

使用脚本创建 JDK8 镜像

  1. 创建目录
mkdir -p /usr/local/dockerjdk8
  1. 将下载好的 JDK8 文件拷贝到 /usr/local/dockejdk8 目录下

  2. 创建文件 Dockefile

vim dockerfile

输入如下内容:

#依赖镜像名称和 ID
FROM centos:7
#指定镜像创建者名称
MAINTAINER MarkLogZhu
#设置工作目录
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 将JDK 添加到容器中
ADD jdk8.tar.gz /usr/local/java #配置 Java 环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8
ENV JER_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
  1. 执行命令构建镜像
docker build -t='jdk1.8' .

注意:后面的空格和点不能省略

4)查看镜像是否建立完成

docker images

最新文章

  1. E-Form++图形可视化源码库新增同BCGSoft的Ribbon结合示例
  2. 批处理定时重启print打印服务,解决打印机异常队列堆积
  3. 8点需要注意的Web编程小细节
  4. SQL Server跨库复制表数据错误的解决办法
  5. JS运动基础(一)
  6. mac下phpstorm左侧的project列表找不到了
  7. UVa 673 (括号配对) Parentheses Balance
  8. 51nod1089最长回文子串V2
  9. -bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory
  10. poj1665
  11. JQuery是继prototype之后又一个优秀的Javascript库
  12. linux权限和ntfs知识文件系统权限
  13. Java集成开发环境--Eclipse for J2EE配置JRE运行环境
  14. Java ---自定义标签
  15. Spring学习(10)--- @Qualifier注解
  16. Codeforces Round #426 (Div. 2)【A.枚举,B.思维,C,二分+数学】
  17. Apache+PHP+Mysql中文配置
  18. crontab定时任务, 定时到秒
  19. 深度学习(PYTORCH)-3.sphereface-pytorch.lfw_eval.py详解
  20. MySQL数据查询之多表查询

热门文章

  1. C#3.0新增功能09 LINQ 标准查询运算符 04 运算
  2. php重复开启session
  3. 如何挑选node docker镜像
  4. JAVA从零学习 第一天 邮箱ych1102@163.com QQ382993199
  5. DES、3DES、AES、PBE对称加密算法实现及应用
  6. c# 控制台console进度条
  7. web渗透---第一天
  8. git的使用(一)
  9. 浅谈NodeJS多进程服务架构基本原理
  10. Spring 常犯的十大错误,答应我 打死都不要犯好吗?