首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当覆盖另一个文件时,Dockerfile COPY命令在其容器中放置一个空文件。

当覆盖另一个文件时,Dockerfile COPY命令在其容器中放置一个空文件。
EN

Stack Overflow用户
提问于 2019-06-01 17:08:44
回答 1查看 1.4K关注 0票数 1

将文件从主机复制到目标路径上已存在文件的容器时,复制的文件为空。

我尝试将相同的文件复制到一个具有不同名称的路径中,这很好。

这个问题发生在我的dockerfile中的两行是:

代码语言:javascript
复制
COPY conf/policy.xml /etc/ImageMagick-6/

COPY conf/000-default.conf /etc/apache2/sites-available/

完整的文档:

代码语言:javascript
复制
FROM php:7.3-apache
RUN docker-php-ext-install pdo_mysql && docker-php-ext-enable pdo_mysql
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

RUN apt-get update && apt-get install -y \
  git libmagick++-dev \
  --no-install-recommends && \
  git clone https://github.com/mkoppanen/imagick.git && \
  cd imagick && git checkout master && phpize && ./configure && \
  make && make install && \
  docker-php-ext-enable imagick && \
  cd ../ && rm -rf imagick && \
  apt-get install -y ghostscript && rm -r /var/lib/apt/lists/*

RUN pecl install xdebug
RUN docker-php-ext-enable xdebug

COPY conf/php.ini /etc/php/7.3/fpm/conf.d/40-custom.ini
COPY conf/policy.xml /etc/ImageMagick-6/
COPY www/ /var/www/html/

COPY conf/000-default.conf /etc/apache2/sites-available/
COPY scripts/generate-ssl.sh /generate-ssl.sh

RUN chmod +x /generate-ssl.sh
RUN /bin/bash /generate-ssl.sh

EXPOSE 80 443

这是故意的行为吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-01 17:17:21

来自Docker文档- Docerfile副本

COPY src dest:如果src是任何类型的文件,那么它将与其元数据一起单独复制。在本例中,如果以尾随斜杠/结尾,则它将被视为一个目录,其内容将写在/base()处。

对于您的情况,请尝试并专门处理最重要的文件:

代码语言:javascript
复制
COPY conf/policy.xml /etc/ImageMagick-6/policy.xml

COPY conf/000-default.conf /etc/apache2/sites-available/000-default.conf

否则我看不出你的dockerfile有什么问题

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56408781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档