• dockerfile context问题


    docker buld -t xx:xx .等于将当前目录(包含Dockerfile)发送到docker服务端,然后所有的操作都是在这个目录里面进行的。所以如果要移动宿主机的文件到容器是不行的,解决把法就是把需要的文件都放到此目录里面来。

    WORKDIR /xx等于是接下来在容器工作的目录,操作其他数据都是相当于以此目录为相对目录

    FROM openjdk:8
    ENV TZ=Asia/Shanghai
    RUN mkdir -p /app
    WORKDIR /app
    COPY ./target/love-0.0.1-SNAPSHOT.jar /app/
    CMD java -jar love-0.0.1-SNAPSHOT.jar
    

    之前不太理解上方的方式,workdir /app了,下方又是COPY ./target,而/app下无target目录啊。其实不然,这两个路径压根没关系,COPY始终是以context为根目录的,不管workdir是什么他COPY都是以context为根。而下方的CMD就和workdir有关了。
    为了更好的理解,将COPY和workdir交换一下位置可能就自然一点,虽然本质并没有改变,像这样:

    FROM openjdk:8
    ENV TZ=Asia/Shanghai
    RUN mkdir -p /app
    COPY ./target/love-0.0.1-SNAPSHOT.jar /app/
    WORKDIR /app
    CMD java -jar love-0.0.1-SNAPSHOT.jar
    
  • 相关阅读:
    Python编程第5讲—if 语句
    GIT 笔记
    jQuery多余文字折叠效果
    静态库与动态库的制作与使用
    Makefile
    C++ 有理数类
    使用mstest.exe 命令行跑test case(不安装Visual Studio 2010)
    Termp Folder and its subfolders
    ToString() 格式化字符串总结
    REST基础
  • 原文地址:https://www.cnblogs.com/dreamroute/p/14251737.html
Copyright © 2020-2023  润新知