问题:

  先 docker pull centos:7 拉取了一个官方的基础镜像,为后续创建jdk8镜像做准备,在创建如下的dockerfile文件  

执行docker build -t jdk_8u191:20190307 . jdk_dockerfile  时都没有反应

  jdk_dockerfile文件内容

# 以此镜像作为基础镜像构建新的镜像
FROM centos:7 # 维护者信息
MAINTAINER chen

# 将jdk-8u191-linux-x64.tar.gz文件添加到新的镜像的的/usr/local/路径下,使用ADD指令会直接对jdk-8u144-linux-x64.tar.gz进行解压缩,不用再单独的tar解压jdk了
ADD jdk-8u191-linux-x64.tar.gz /usr/local/ # 设置环境变量
ENV JAVA_HOME /usr/local/jdk1..0_191
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin

执行创建命令,没有反应

root@ubuntu:/# docker build -t jdk_8u191: . -f jdk_dockerfile

解决:

  在自己的用户目录下重新创建 jdk_dockerfile文件,

然后执行

  

  

docker build -t jdk_8u191:20190307 . -f jdk_dockerfile

参数解释:

  -t :指定创建的镜像的名称和tag,如-t jdk_8u191:20190307

  . 注意有一个.这个表示当前目录,必不可少的

  -f : 指定要执行的dockerfile文件,如果文件名直接叫dockerfile,那么就不用-f参数了

顺便使用该镜像运行一个容器,查看一下jdk是否安装成功

命令解释

  docker images :查看所有镜像

  docker run -d -it jdk_8u191:20190307 /bin/bash :使用镜像运行一个容器

  docker ps :查看正在运行的容器

  docker exec -it 404 /bin/bash : 进入容器id为404开头的容器中

分析:可能是由于本来的基础镜像是自己用户创建的,用root用户不能执行

使用dockerfile文件创建镜像时docker build没有反应的更多相关文章

  1. docker(4)使用Dockerfile文件创建镜像-对docker(3)的改进

    在<docker(3)docker下的centos7下安装jdk>中,当进入容器后,执行 java命令 不能运行,需要执行source /etc/profile才能执行.如果采用Docke ...

  2. 使用dockerfile构建镜像(docker build)

    Docker buidl .  找出当前文件夹下的Docker build文件名的文件 Docker build -t  centos(镜像名) . 在当前目录下找centos的镜像文件 Docker ...

  3. DockerFile构建镜像和Docker仓库

    利用commit理解镜像构成 注意: docker commit 命令除了学习之外,还有一些特殊的应用场合,比如被入侵后保存现 场等.但是,不要使用 docker commit 定制镜像,定制镜像应该 ...

  4. Docker容器学习梳理 - Dockerfile构建镜像

    在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其 ...

  5. docker学习笔记6:利用dockerfile创建镜像介绍(生成简单web服务器镜像)

    本文介绍如何利用dockerfile来创建镜像.下面介绍具体的操作过程: 一.创建构建环境 操作示例如下: xxx@ubuntu:~$ pwd /home/xxx xxx@ubuntu:~$ mkdi ...

  6. 使用Dockerfile制作自己的Docker镜像

    一.背景 一直以来的开发流程都是先从Docker Hub中获取到基础镜像,之后在这个镜像的基础上做开发,以满足一定的需求或者提供某种服务,并由此产生新的镜像,然后就可以push到Docker Hub中 ...

  7. Docker学习笔记之通过 Dockerfile 创建镜像

    0x00 概述 由于 Docker 镜像的结构优势,使它的占用空间远小于普通的虚拟机镜像,而这就大幅减少了 Docker 镜像在网络或者其他介质中转移所花费的时间,进而提高了我们进行迁移部署的效率.不 ...

  8. docker build 指定dockerfile

    1. Dockerfile文件使用 docker build命令会根据Dockerfile文件及上下文构建新Docker镜像.构建上下文是指Dockerfile所在的本地路径或一个URL(Git仓库地 ...

  9. Docker Dockerfile 定制镜像(转)

    转自: https://yeasy.gitbooks.io/docker_practice/ 及 https://blog.csdn.net/wo18237095579/article/details ...

随机推荐

  1. 常见的加密和解密算法—BASE64

    一.BASE64加密和解密概述 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64编码可用于在HTTP环境下传递较长的标识信息.例如,在Java Persistence系 ...

  2. 常见报表的JS代码

    1.合并单元格 这个表格在报表里面算是比较典型的 1.里面的表格的列标题现在是写死的,其实这些可以通过配置进行 2.至于如果表头要进行合并(这种需求比较少,也比较容易实现) 3.至于统计:最好在后台按 ...

  3. 图片采集器_PHP

    现在国内模仿“pinterest”的越来越多了,之前我做过一个基于chrome浏览器上的一个“图片采集工具”,类似于“花瓣网“那样的,初期我觉得挺简单,后来做起来发现还是挺复杂的,特别是整合到你自己的 ...

  4. 安装MySQL时出现黄色感叹号,提示3306已被占用

    windows系统如何查看现在某个端口的应用进程id呢,命令是: 1.netstat  -aon|findstr 3306 2.最后的那个数值就是进程id号,此时需要查看该id号对应的应用是哪一个,可 ...

  5. 跟我学算法-吴恩达老师(mini-batchsize,指数加权平均,Momentum 梯度下降法,RMS prop, Adam 优化算法, Learning rate decay)

    1.mini-batch size 表示每次都只筛选一部分作为训练的样本,进行训练,遍历一次样本的次数为(样本数/单次样本数目) 当mini-batch size 的数量通常介于1,m 之间    当 ...

  6. 【Directshow】IFilterGraph::AddFilter方法参数问题<转>

    看dx里dshow的例子和别人的程序,用IFilterGraph::AddFilter()这个API添加filter到Graph的时候,第二个参数是一个设备友好名称: 我看有的填的是通过IProper ...

  7. maven 中的依赖

  8. FP变更物料编码(增加尾缀)

    FP物料编码增加尾缀的程序,标准物料编码是18位,目前程序中增加尾缀的有三种1.DUMMY 2.SP开头 3.P开头 4.C开头 5.BP对应处理程序如下:1.DUMMY       SAP_MATE ...

  9. bootstraptable为行中的按钮添加事件

  10. android应用程序monkey压力测试(模拟器或真机)

    首先需要安装一个模拟器: 前置条件: 1.jdk环境配置 2.eclipse下载安装(直接解压即可) 3.网站上下载ADT: 由于国内禁止google的浏览,所以需要自己上网找资源,下面这个网站有比较 ...