Dockerfile介绍、Docker制作jdk镜像

Dockerfile介绍、Docker制作jdk镜像

目标

1、Dockerfile简介

2、Docker制作jdk镜像

Dockerfile简介

dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,

另外,使用Dockerfile去构建镜像好比使用pom去构建maven项目一样,有异曲同工之妙

dockerfile基本结构

Dockerfile 由一行行命令语句组成, 并且支持以#开头的注释行,一般而言, Dockerfile 主体内容分为四部分:

基础镜像信息、 维护者信息、 镜像操作指令和容器启动时执行指令。

部分                             命令

基础镜像信息                     FROM

维护者信息                       MAINTAINER

镜像操作指令                     RUN、(COPY/ADD)、EXPOSE、WORKDIR、ONBUILD、USER、VOLUME等

容器启动时执行指令               CMD、ENTRYPOINT

Docker制作jdk镜像

0.启动虚拟机,进入centos

1.创建文件夹上传jdk的安装包,和在同级目录下编写Dockerfile文件

#创建镜像目录

mkdir –p /yuan_docker/jdk

#安装lrzsz命令

yum install lrzsz -y

  #选择文件进行上传

rz   上传文件

上传中

上传成功,刷新看看注意文件大小,于上传之前的文件对比一下,以防上传中途丢失

 # 注意d是大写

touch Dockerfile

   2.编写 Dockerfile 文件

#1.指定基础镜像,并且必须是第一条指令

FROM centos:7

#2.指明该镜像的作者和其电子邮件

MAINTAINER ly "[email protected]"

#3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录

WORKDIR /yuan_docker/jdk

#4.一个复制命令,把jdk安装文件复制到镜像中,语法:ADD <src>... <dest>,注意:jdk*.tar.gz使用的是相对路径

ADD jdk-8u221-linux-x64.tar.gz /yuan_docker/jdk/

#5.配置环境变量

ENV JAVA_HOME=/yuan_docker/jdk/jdk1.8.0_221

ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV PATH=$JAVA_HOME/bin:$PATH

#容器启动时需要执行的命令

#CMD ["java","-version"]

 3.执行Dockerfile文件,初次依赖镜像的时候会下载相应镜像

docker build -t jdk8:v1.0 .

注1:-t  jdk8:v1.0  给新构建的镜像取名为 jdk8, 并设定版本为 v1.0

注2:注意最后有个点,代表使用当前路径的 Dockerfile 进行构建

4.查看镜像

docker images

 5.创建并启动容器

docker run -it --name myjdk01 4750f3e49815

   6.检查是否有问题

javac

没问题说明jdk镜像制作成功了

谢谢观看!!!

原文地址:https://www.cnblogs.com/ly-0919/p/12048132.html

时间: 2024-08-02 22:48:43

Dockerfile介绍、Docker制作jdk镜像的相关文章

docker制作jdk镜像

同级目录下创建一个Dockerfile,必须叫这个名字 [[email protected] file]# ll total 181296 -rw-r--r--. 1 root root 0 Oct 31 10:34 Dockerfile -rw-r--r--. 1 root root 185646832 Mar 28 2019 jdk-8u181-linux-x64.tar.gz 编写Dockerfile [[email protected] file]# vim Dockerfile [[e

Docker 制作Nginx镜像

参考文章:https://www.jianshu.com/p/dc4cd0547d1e 镜像的制作方式有两种,一种是下载别人的镜像之后再制作成自己的镜像,一种是从头开始制作自己的镜像 第一种,下载别人的镜像来修改. 安全起见下载官方的centos系统镜像,在该系统内安装nginx之后,在封装成镜像 下载centos系统镜像 docker pull centos 使用镜像启动容器并进入容器 docker run -it --name centos.nginx centos /bin/bash 安装

04 Docker 制作自定义镜像包

制作自定义镜像包的两种方式 1.创建容器并对容器进行修改,然后打包容器为镜像 2.使用Dockerfile编排镜像 自定义镜像 1.创建一个容器 docker run -itd centos 2.进入容器进行修改配置 docker exec -it 容器id bash 停止容器,不是必须的 3.创建镜像并验证 docker commit 容器id 镜像名称:标签 4.打包镜像 docker save 镜像名称 > 包名.tar 使用 Dockerfile 编排镜像 给容器配置 yum 源 查看宿

docker制作jdk+tomcat镜像

docker部署TOMCAT项目 一.内核升级 [[email protected] ~]# uname -r   #内核查看确认 2.6.32-696.16.1.el6.x86_64 [[email protected] ~]# [[email protected] ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org [[email protected] ~]# rpm -Uvh http://www.elrepo.or

Docker笔记——jdk镜像制作

openjdk镜像依赖如下: openjdk:8-jdk -> buildpack-deps:jessie-scm -> buildpack-deps:jessie-curl -> debian:jessie -> scratch 找到各镜像Dockerfile后即可一步步制作出openjdk:8-jdk镜像,具体步骤可参考http://www.cnblogs.com/tacyeh/p/5903982.html中制作registry方法,这里只列出所需Dockerfile路径. h

docker 制作tomcat 镜像并应用

tomcat支持自主应用并对外开放端口: 1.制作Dockerfile 以centos为基础,远程ssh登录:新建Dockerfile,编辑如下: FROM tomcat MAINTAINER ****************** ADD web.xml /usr/local/tomcat/webapps/manager/WEB-INF/ ADD tomcat-users.xml /usr/local/tomcat/conf/ ADD server.xml /usr/local/tomcat/c

alpine制作jdk、jre镜像、自定义镜像上传阿里云

alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗. 2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://pkgs.alpinelinux.org/packages 查询包信息 3.Alpine Docker镜像继承了Alpine Lin

使用dockerfile构建docker镜像

一,简单介绍 docker镜像构建方式有两种方式,第一种是启动基础容器之后,进入容器安装所需要的文件,配置,变量等,完成后使用docker commit提交成为一个新的镜像,第二种则是通过编写dockerfile文件,进行镜像制作,使用docker  build命令进行镜像的构建.第一种方式可以看到镜像的生成过程,但是不便于自动化:第二种方式则比较直观,可以结合devops实现自动打包发布,本文则介绍如何利用dockerfile实现docker镜像的制作. Dockerfile描述了组装镜像的步

Docker系列-(2) 镜像制作与发布

上篇文章引入了Docker的基本原理和操作,本节文章主要介绍如何制作Docker镜像和发布. 镜像文件结构 Docker镜像的本质是一系列文件的集合,这些文件依次叠加,形成了最后的镜像文件,类似于下图所示的结构, 从底层往上,依次是文件系统层,操作系统层,专有镜像层,读写层. 启动文件层:Docker启动时的用到的文件系统,启动完成后会自动脱离,用户不会与这一层直接打交道. 操作系统层:这一层主要是操作系统相关的一些文件,根据发行版本的不同,可能有CentsOS.Ubuntu等等.文件包含dev