dockerfile构建ubuntu-java8镜像文件(十)
cookqq ›博客列表 ›docker+node.js+zookeeper构建微服务

dockerfile构建ubuntu-java8镜像文件(十)

2018-08-30 14:27:11.0|分类: docker+node.js+zookeeper构建微服务|浏览量: 2069

摘要: dockerfile是编写docker镜像的脚本,该脚本有一个固定的格式。

基本命令讲解

FROM 功能为指定基础镜像,并且必须是第一条指令。

语法:

FROM <image>
FROM <image>:<tag>
FROM <image>:<digest>

三种写法,其中<tag>和<digest> 是可选项,如果没有选择,那么默认值为latest


MAINTAINER 指定维护者信息

MAINTAINER "conca"<136641953@qq.com>



ADD 添加到容器中的文件

ADD jdk-8u181-linux-x64.tar.gz  /opt

ADD命令自动解压来源路径中的压缩包,将解压后的文件复制到目标文件中/opt


COPY 复制到容器中的文件

COPY jdk-8u181-linux-x64.tar.gz  /opt

只复制文件,不进行解压



RUN 设置镜像制作过程中需要执行的命令

RUN mv jdk1.8.0_181 jdk



CMD 设置容器启动时需要执行的命令

cmd /opt/jdk/bin/java -version


cmd命令要么没有,要么有一条。


构建ubuntu-java8镜像文件脚本


创建空白文件,命令Dockerfile,内容如下:


FROM ubuntu:latest
MAINTAINER "conca"<136641953@qq.com>
ADD jdk-8u181-linux-x64.tar.gz /opt
RUN mv /opt/jdk1.8.0_181 jdk
CMD /opt/jdk/bin/java -version


docker build命令读取Dockerfile文件,并构建一个镜像

docker build -t conca/ubuntu-java8 .

参数解释:

    conca/ubuntu-java8镜像名字

    . 读取当前文件,主要是寻找Dockerfile文件

blob.png


docker images查看镜像


blob.png

通过Docker构建的镜像与之前手工打包的镜像所包含的仓库名与标签名完全相同,因此之前手工构建的镜像仓库和标签变成了<none>,这是正常现象,我们可以docker tag命令修改以前的仓库和标签名:

docker tag 03788fdbbbbf conca/ubuntu-java8:1.0

blob.png



优化java变量设置


将java路径放到path中


FROM ubuntu:latest
MAINTAINER "conca"<136641953@qq.com>
ADD jdk-8u181-linux-x64.tar.gz /opt
RUN mv /opt/jdk1.8.0_181 jdk
ENV JAVA_HOME /opt/jdk
ENV PATH $JAVA_HOME/bin:$PATH
CMD java -version



一键分享文章

分类列表

  • • struts源码分析
  • • flink
  • • struts
  • • redis
  • • kafka
  • • ubuntu
  • • zookeeper
  • • hadoop
  • • activiti
  • • linux
  • • 成长
  • • NIO
  • • 关键词提取
  • • mysql
  • • android studio
  • • zabbix
  • • 云计算
  • • mahout
  • • jmeter
  • • hive
  • • ActiveMQ
  • • lucene
  • • MongoDB
  • • netty
  • • flume
  • • 我遇到的问题
  • • GRUB
  • • nginx
  • • 大家好的文章
  • • android
  • • tomcat
  • • Python
  • • luke
  • • android源码编译
  • • 安全
  • • MPAndroidChart
  • • swing
  • • POI
  • • powerdesigner
  • • jquery
  • • html
  • • java
  • • eclipse
  • • shell
  • • jvm
  • • highcharts
  • • 设计模式
  • • 列式数据库
  • • spring cloud
  • • docker+node.js+zookeeper构建微服务
版权所有 cookqq 感谢访问 支持开源 京ICP备15030920号
CopyRight 2015-2018 cookqq.com All Right Reserved.