# Import ubuntu
FROM ubuntu:18.04
RUN apt-get update
# setup sftp
# Setup the directory
EXPOSE 21
RUN mkdir -p /var/ftp/pub
RUN chmod 777 /var/ftp/pub
# install the software
RUN apt-get install vsftpd -y
# move the config
COPY vsftpd.conf /etc
# Run FTP
# RUN service vsftpd restart
# setup webpage
RUN apt-get install apache2 -y
COPY index.html /var/www/html
RUN echo "ServerName 0.0.0.0" >> /etc/apache2/apache2.conf
RUN service apache2 restart
EXPOSE 80
使用此dockerfile,我尝试使用FTP和Apache设置ubuntu实例。 apache端口是80,但是当我在主机上导航到localhost:80时,只能重置连接。这个配置正确吗?
答案 0 :(得分:0)
使用RUN
伪指令,可以在构建期间对图像运行任何命令。虽然apache应该在容器启动时启动,所以您需要在CMD
或entrypoint
中添加流程启动命令。
因此,将RUN service apache2 restart
替换为下面的CMD
。
CMD apachectl -D FOREGROUND