Docker与容器化-03-使用Dockerfile创建镜像
一.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创建镜像相关推荐
- Docker学习,从hello-word到Dockerfile创建镜像
一.Docker的最小镜像hello-world 1.docker pull 下载hello-world镜像 docker pull hello-world 2.docker images ...
- 使用Docker实现容器化(一)——Docker基础的介绍与应用
使用Docker实现容器化(二)--CentOS中Docker环境的搭建 1 容器与Docker 1.1 什么是容器 容器指的是容纳物料的以壳为主的装置.如以下就是一些容器: 放水果的水果盘 运行se ...
- 基于 Docker Compose 容器化搭建 Wordpress
基于 Docker Compose 容器化搭建 Wordpress 最近由于业务需求帮公司搞了几个 Wordpress 作为官网,中间也是踩了不少坑,倒不是搭建 wordpress 难,主要是 wor ...
- Dockerfile创建镜像
Dockerfile创建镜像 Dockerfile常见的命令 Dockerfile就是用来构建docker镜像的源码,是一些命令的组合,编写dockerfile可以定制化docker image. 镜 ...
- Docker学习之路 用commit命令创建镜像
Docker学习之路 用commit命令创建镜像 docker 74k 次阅读 · 读完需要 7 分钟 假期快要结束了,干点正事,接着Docker的学习. 构建镜像 构建镜像的两种方法: 使用dock ...
- [转]Docker基础-使用Dockerfile创建镜像
本文转自:https://www.cnblogs.com/jie-fang/p/7927643.html 1.基本结构 Dockerfile由一行行命令语句组成,并支持以#开头的注释行.例如: # T ...
- Docker(2):使用Dockerfile创建支持SSH服务的镜像
1.创建工作目录 # mkdir sshd_ubuntu # ls 在其中,创建Dockerfile和run.sh文件 # cd sshd_ubuntu/ # touch Dockerfile run ...
- Docker基础-使用Dockerfile创建镜像
目录 1.基本结构 1.1 在debian:jessie基础镜像上安装nginx环境,从而创建一个新的nginx镜像: 1.2 基于buildpack-deps:jessie-scm基础镜像,安装go ...
- docker学习笔记(四)——Dockerfile创建自定义镜像
用Dockerfile创建docker,注意下,建议在空文件夹下创建 本篇我们将完成: 1.用Dockerfile创建docker 2.端口映射 3.卷挂载,即docker目录挂载到宿主机 1.用Do ...
- 使用Jenkins Pipeline插件和Docker打造容器化构建环境
Docker和Jenkins像DevOps界的巧克力和花生酱那样,它们的组合产生了无数的机会,当然也产生了很多难题,笔者将提及这两个方面. 本文中,我假定读者已经熟悉Jenkins和Docker,我将 ...
最新文章
- 【Tensorflow】tf.nn.atrous_conv2d如何实现空洞卷积?膨胀卷积
- php如何实现区分编辑,php实现编辑和保存文件的方法
- new Integer 和 Integer.valueOf 有什么不同
- 1056. 组合数的和(15)
- 不会几个框架,都不好意思说搞过前端: Vue.js - 60分钟快速入门
- 【数据结构与算法】带环单链表查找环的入口算法
- 44. Wildcard Matching (String; DP, Back-Track)
- 磁盘不见了只剩一个c盘_电脑硬盘分区突然见了就剩个C盘到磁盘管理看也只有C盘...
- [云原生专题-3]:云平台 - 云计算平台快速入门
- V-REP笔记:导出自己的机器人模型
- pc恶意程序木马分析 启动流程 逆向分析 数据解密
- DOM 详细 一篇就够【重点】
- 《Science》教你如何写好一篇博士毕业论文!
- Go语言自学系列 | go语言数字类型
- JAVA学习总结(2)
- 【渝粤题库】陕西师范大学100121 政治经济学作业 (高起专、高起本)
- OneHotEncoder
- 《数值分析(原书第2版)》—— 导读
- 微软发布Mac 8版Messenger 支持视频会议(图)
- 超详细的ROC曲线绘制教程