使用dockerfile文件创建镜像时docker build没有反应
问题:
先 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没有反应的更多相关文章
- docker(4)使用Dockerfile文件创建镜像-对docker(3)的改进
在<docker(3)docker下的centos7下安装jdk>中,当进入容器后,执行 java命令 不能运行,需要执行source /etc/profile才能执行.如果采用Docke ...
- 使用dockerfile构建镜像(docker build)
Docker buidl . 找出当前文件夹下的Docker build文件名的文件 Docker build -t centos(镜像名) . 在当前目录下找centos的镜像文件 Docker ...
- DockerFile构建镜像和Docker仓库
利用commit理解镜像构成 注意: docker commit 命令除了学习之外,还有一些特殊的应用场合,比如被入侵后保存现 场等.但是,不要使用 docker commit 定制镜像,定制镜像应该 ...
- Docker容器学习梳理 - Dockerfile构建镜像
在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其 ...
- docker学习笔记6:利用dockerfile创建镜像介绍(生成简单web服务器镜像)
本文介绍如何利用dockerfile来创建镜像.下面介绍具体的操作过程: 一.创建构建环境 操作示例如下: xxx@ubuntu:~$ pwd /home/xxx xxx@ubuntu:~$ mkdi ...
- 使用Dockerfile制作自己的Docker镜像
一.背景 一直以来的开发流程都是先从Docker Hub中获取到基础镜像,之后在这个镜像的基础上做开发,以满足一定的需求或者提供某种服务,并由此产生新的镜像,然后就可以push到Docker Hub中 ...
- Docker学习笔记之通过 Dockerfile 创建镜像
0x00 概述 由于 Docker 镜像的结构优势,使它的占用空间远小于普通的虚拟机镜像,而这就大幅减少了 Docker 镜像在网络或者其他介质中转移所花费的时间,进而提高了我们进行迁移部署的效率.不 ...
- docker build 指定dockerfile
1. Dockerfile文件使用 docker build命令会根据Dockerfile文件及上下文构建新Docker镜像.构建上下文是指Dockerfile所在的本地路径或一个URL(Git仓库地 ...
- Docker Dockerfile 定制镜像(转)
转自: https://yeasy.gitbooks.io/docker_practice/ 及 https://blog.csdn.net/wo18237095579/article/details ...
随机推荐
- 安装 sass 文档
为什么使用Sass 作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE.JS而成为目前前后端统一开 ...
- django2.0模板相关设置
看到了django的模板有include标签 include 标签 {% include %} 标签允许在模板中包含其它的模板的内容. 下面这个例子都包含了 nav.html 模板: {% inclu ...
- git备忘
git checkout . 放弃本地修改
- email 解析 ,发送 邮件
email 来源:https://blog.csdn.net/xyang81/article/details/7675160 详见此人其它mail 篇 参考2:http://lib.csdn. ...
- Attribute与元数据
在MSDN中,Attribute被定义为“是被指定给某一声明的一则附加的声明性信息”. 我们可以通过Attribute来定义设计层面的信息以及运行时(run-time)信息,也可以利用Attribut ...
- shutdown和close的区别
[shutdown和close的区别] 当所有的数据操作结束以后,你可以调用close()函数来释放该socket,从而停止在该socket上的任何数据操作:close(sockfd); 你也可以调用 ...
- c++程序的多文件组织
当程序规模变大后,一个程序用多个文件组织,便于组织生产.这样,不必每次都重复对所有代码进行编译,而只需编译一次即可.把编译后所形成的目标文件保存起来,以后在需要时把它调出来直接与程序的目标文件相连接即 ...
- 信息传递(tarjan)
信息传递 http://uoj.ac/problem/146 有 n 个同学(编号为 1 到n )正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为 i的同学的信息传递对象 ...
- 微信小程序地图之逆地理编码
首先说一下,我微信自带map的api中并没有相关接口可调用.文中的方法建立于高德地图.(顺便吐槽,微信开发文档相比支付宝家的显得好烂!) 最近做项目用到地图定位相关的需求,为了搞定需求看了下相关的文档 ...
- 两个链表的交叉 · Intersection of Two Linked Lists
[抄题]: Write a program to find the node at which the intersection of two singly linked lists begins. ...