【问题标题】:Connection reset when connecting to docker container连接到 docker 容器时连接重置
【发布时间】:2019-09-25 18:21:36
【问题描述】:
# 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 时,我只会重置连接。这个配置正确吗?

【问题讨论】:

  • 你需要在一个容器中运行一个服务,并且它需要是一个前台进程。 RUN service ... start 实际上什么也没做。
  • 添加RUN apachectl -D FOREGROUND?编辑:我明白你现在在说什么。是否可以运行多个,或者我需要运行一个并在它们之间建立一些网络

标签: apache docker ubuntu dockerfile


【解决方案1】:

使用RUN 指令,您可以在构建期间对映像运行任何命令。而apache应该在容器启动时启动,所以你需要在CMDentrypoint中添加进程启动命令。

所以将RUN service apache2 restart 替换为下面的CMD

CMD apachectl -D FOREGROUND

【讨论】:

    猜你喜欢
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 2021-02-03
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多