首页 > 解决方案 > 创建新图像时无法在 docker 中 cd 到 /

问题描述

我从某个网站复制了以下代码来创建自己的 docker 映像。码头工人经验为零。我被困在 cd'ing 进入目录的非常基本的命令中,我觉得对于基于 linux 的系统,除非 docker 期待一些特殊的格式,否则这些命令是相同的。请帮我解决它。

    Operating system: Windows 10 home
    Docker Desktop
   

     Problem: Step 5/12 : ADD opencv.sh /home/opencv.sh
         ---> Using cache
         ---> 17d5d7c7ae7c
        Step 6/12 : RUN /home/opencv.sh
         ---> Running in 27fd8c2d3dd3
        /home/opencv.sh: 1: cd: can't cd to /
        '...ing into '3.4.9

下面是从 docker 文件内部运行的 docker 文件和 opencv.sh 文件。

DockerFile 的内容

    FROM tensorflow/tensorflow:1.15.2-py3-jupyter
    RUN apt-get update
    RUN apt-get upgrade -y
    RUN apt-get install git cmake wget unzip -y
    ADD opencv.sh /home/opencv.sh
    RUN /home/opencv.sh

opencv.sh 的内容

    cd /
    git clone https://github.com/opencv/opencv.git --single-branch 3.4.9
    mv 3.4.9 cv
    cd cv
    mkdir build
    cd build
    cmake ..
    make
    make install

标签: windowsdocker

解决方案


你(他)为什么要在可以使用 docker 的情况下使用 shell 脚本文件?你可以试试这个

FROM tensorflow/tensorflow:1.15.2-py3-jupyter

RUN apt-get update 
RUN apt-get upgrade -y
RUN apt-get install git cmake wget curl -y

WORKDIR /
RUN git clone https://github.com/opencv/opencv.git --single-branch 3.4.9
RUN mv 3.4.9 cv
RUN mkdir cv/build
RUN cd cv/build && cmake .. && make && make install

推荐阅读