dockerfile和坏运行

dockerfile和坏运行,docker,dockerfile,Docker,Dockerfile,我的dockerfiles生成图像时没有错误,但某些给定的运行不会在容器中生成图像。例如,在此dockerfile中,它是带有sed的行: FROM debian:jessie ENV DEBIAN_FRONTEND=noninteractive # Installer apache RUN apt-get update && apt-get upgrade -y -q && apt-get dist-upgrade -y -q RUN apt-get ins

我的dockerfiles生成图像时没有错误,但某些给定的运行不会在容器中生成图像。例如,在此dockerfile中,它是带有sed的行:

FROM debian:jessie

ENV DEBIAN_FRONTEND=noninteractive

# Installer apache
RUN apt-get update && apt-get upgrade -y -q && apt-get dist-upgrade -y -q
RUN apt-get install -y -q apache2
RUN apt-get -y -q autoclean && apt-get -y -q autoremove

# Activer ssl et générer la clé et le certificat autosigné
RUN a2enmod ssl
RUN a2ensite default-ssl
RUN make-ssl-cert generate-default-snakeoil 

# Activer les fichiers .htaccess
RUN a2enmod rewrite
RUN sed 's/ServerAdmin webmaster@localhost/ServerAdmin webmaster@localhost\n\t\tAllowOverride all/' /etc/apache2/sites-available/default-ssl.conf

# donner les droits d’accès à apache
RUN chown -R www-data: /var/www/html/

VOLUME /var/www/html/

EXPOSE 80
EXPOSE 443

CMD ["/usr/sbin/apache2ctl", "-DFOREGROUND"]
另一个示例是错误运行是带有rm和chown命令的行:

FROM perso/apache

ENV DEBIAN_FRONTEND=noninteractive

# Installer php5 et les modules tiers
RUN apt-get update && apt-get upgrade -y -q && apt-get dist-upgrade -y -q
RUN apt-get install -y -q php5 php5-mysql php5-gd php5-curl
RUN apt-get -y -q autoclean && apt-get -y -q autoremove

# Donner les droits d’accès à apache
RUN rm /var/www/html/index.html
COPY volumes/Leed-master/ /var/www/html/
RUN chown -R www-data: /var/www/html/

VOLUME /var/www/html

EXPOSE 80
EXPOSE 443

CMD ["/usr/sbin/apache2ctl", "-DFOREGROUND"]

有什么问题吗?

我不知道,有什么问题?你能解释一下你期望的是什么和正在发生的事情吗?旁注
&&apt get upgrade-y-q&&apt get dist upgrade-y-q
是无用的,你应该对你的跑步进行分组,顺便看一下Dockerfiles最佳实践,你已经有很多Apache就绪的docker映像,例如,或者更一般地看第一个示例,行未在容器中添加“\n\t\tAllowOverride all”。对于第二个示例,文件index.html不会被删除,并且所有者始终是root。