rad*_*led 5 centos docker dockerfile
我是 docker 的新手,我正在尝试为 apache 构建一个小的 docefile 仅用于测试。
FROM httpd:2.2.31
RUN mkdir -p /opt/mw/apache-test/logs
ADD ./httpd-custom.conf /usr/local/apache2/conf/httpd.conf
COPY /opt/mw/apache-2.2.31-instance1/htdocs/ /usr/local/apache2/htdocs/
Run Code Online (Sandbox Code Playgroud)
但是由于某种原因,我在 COPY 中遇到了错误。另外,我尝试使用 ADD。
这是我得到的错误:
Step 4 : COPY /opt/mw/apache-2.2.31-instance1/htdocs/ /usr/local/apache2/htdocs/
lstat opt/mw/apache-2.2.31-instance1/htdocs/: no such file or directory
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
了解您不想挂载卷,而是希望将这些文件作为映像的一部分,以便可以共享。至少假设是这样。
COPY 遵循以下规则:
- 路径必须位于构建的上下文内;你不能 COPY ../something /something,因为 docker 构建的第一步是将上下文目录(和子目录)发送到 docker 守护进程。
- 如果是目录,则复制该目录的全部内容,包括文件系统元数据。
您现在可能已经遇到问题了。在您的Dockerfileie 中,COPY语句是问题所在,因为它指的是不遵循上述第一条规则的绝对路径。因此,htdocs应该在您执行docker build命令的本地目录中可用。
在构建镜像之前需要进行以下更改:
Dockerfile,httpd-custom.conf文件。/opt/mw/apache-2.2.31-instance1/htdocs到当前目录。因此,htdocs在构建图像时,该目录现在可以成为上下文的一部分(如文档中所述)。Dockerfile如下(主要是COPY命令):FROM httpd:2.2.31
RUN mkdir -p /opt/mw/apache-test/logs
ADD ./httpd-custom.conf /usr/local/apache2/conf/httpd.conf
COPY htdocs /usr/local/apache2/htdocs
Run Code Online (Sandbox Code Playgroud)
现在您应该能够成功构建它。
对于演示,使用轻量级busybox并在相同的上下文中创建一个目录(以模拟您的情况),如下所示:
$ more Dockerfile
FROM busybox
COPY data_folder /opt/data_folder
CMD ["ls", "/opt/data_folder"]
$ ls
data_folder Dockerfile
$ ls data_folder/
test.txt
Run Code Online (Sandbox Code Playgroud)
构建图像:
$ sudo docker build -t dirtest .
Sending build context to Docker daemon 3.584 kB
Step 1 : FROM busybox
---> e02e811dd08f
Step 2 : COPY data_folder /opt/data_folder
---> b6b1a9555825
Removing intermediate container b682e0467803
Step 3 : CMD ls /opt/data_folder
---> Running in 3b05f08ceafc
---> b73190fc1fd9
Removing intermediate container 3b05f08ceafc
Successfully built b73190fc1fd9
Run Code Online (Sandbox Code Playgroud)
在容器中运行上面的图像,显示目录“data_folder”已被复制并显示其内容。在你的情况下,它是htdocs
$ sudo docker run -it --rm --name testdirtest dirtest
test.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4283 次 |
| 最近记录: |