• 使用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.8.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:20190307 . -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用户不能执行

  • 相关阅读:
    Maven 环境的配置
    zTree的简单例子
    plsql免安装客户端的配置
    HDU 1232 畅通工程
    HDU 5698 瞬间移动
    Codeforces 1015E1 Stars Drawing (Easy Edition)
    Codeforces 784B Santa Claus and Keyboard Check
    Codeforces 500C New Year Book Reading
    NSarray 赋值 拷贝 等问题记录
    UINavigationController 操作记录
  • 原文地址:https://www.cnblogs.com/gcgc/p/10487802.html
Copyright © 2020-2023  润新知