【发布时间】:2021-02-03 20:50:46
【问题描述】:
所有,我正在尝试将文件从我的主机永久复制到映像,以便这些文件可用于基于该映像启动的每个容器。作为 virtualbox 来宾在 debian wheezy 64bit 上运行。
Dockerfile 相当简单(安装 octave 映像):
FROM debian:jessie
MAINTAINER GG_Python <[redacted]@gmail.com>
RUN apt-get update
RUN apt-get update
RUN apt-get install -y octave octave-image octave-missing-functions octave-nan octave-statistics
RUN mkdir /octave
RUN mkdir /octave/libs
RUN mkdir /octave/libs/jsonlab
COPY ~/octave/jsonlab/loadjson.m /octave/libs/jsonlab/.
发出构建命令后,我得到以下跟踪:docker build -t octave .
Sending build context to Docker daemon 423.9 kB
Sending build context to Docker daemon
Step 0 : FROM debian:jessie
---> 58052b122b60
Step 1 : MAINTAINER GG_Python <[..]@gmail.com>
---> Using cache
---> 90d2dd2f7ee8
Step 2 : RUN apt-get update
---> Using cache
---> 4c72c25cd829
Step 3 : RUN apt-get update
---> Using cache
---> b52f0bcb9f86
Step 4 : RUN apt-get install -y octave octave-image octave-missing-functions octave-nan octave-statistics
---> Using cache
---> f0637ab96d5e
Step 5 : RUN mkdir /octave
---> Using cache
---> a2d278b2819b
Step 6 : RUN mkdir /octave/libs
---> Using cache
---> 65efbbe01c99
Step 7 : RUN mkdir /octave/libs/jsonlab
---> Using cache
---> e41b80901266
Step 8 : COPY ~/octave/jsonlab/loadjson.m /octave/libs/jsonlab/.
INFO[0000] ~/octave/jsonlab/loadjson.m: no such file or directory
Docker 绝对拒绝将此文件从主机复制到映像中。不用说文件 loadjson.m 在那里(猫显示),我所有更改路径(相对、绝对等)的尝试都失败了。有什么建议为什么这个简单的任务有问题?
【问题讨论】:
-
使用 mkdir,您可以使用 -p 选项一次性创建它们:mkdir -p /octave/libs/jsonlab
-
而且前3行也应该合并成一个RUN
标签: docker dockerfile