gpt4 book ai didi

apache - Dockerized Apache服务器未公开端口80

转载 作者:行者123 更新时间:2023-12-02 21:19:10 26 4
gpt4 key购买 nike

我正在尝试在docker容器中运行React应用程序。我的应用程序镜像是使用以下Dockerfile构建的:

Docker文件

FROM node:latest
LABEL autor="Ed de Almeida"

RUN apt-get update
RUN apt-get install -y apache2
RUN mkdir /tmp/myapp
COPY . /tmp/myapp
RUN cd /tmp/myapp && npm install
RUN cd /tmp/myapp && npm run build
RUN cd /tmp/myapp/build && cp -Rvf * /var/www/html
RUN cd /var/www && chown -Rvf www-data:www-data html/
EXPOSE 80

ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid

CMD /usr/sbin/apache2ctl -D FOREGROUND

如您所见,我创建了一个生产版本,将其复制到Apache服务器的标准目录中,然后运行Apache服务器。我什至公开了端口80(Apache的默认端口)。

我正在创建图像
docker build -t myimage .

然后运行容器
docker run -d -p 80:80 --name myapp myimage

我可能会丢失一些东西,因为我是Docker的新手,因为容器在那里并且可以运行,但是当我将浏览器指向 http://localhost时,我什么也没得到。

我带着
docker exec -it myapp bash

并且应用程序在其中运行良好。

有什么提示吗?

最佳答案

在Windows上运行时,Docker将在背景中运行的虚拟机上运行。因此,您需要连接到该虚拟机而不是本地主机。

您可以通过运行以下命令获取机器的IP:

docker-machine ip default

这将为您提供计算机的IP地址,您可以使用该IP地址从浏览器进行连接。

关于apache - Dockerized Apache服务器未公开端口80,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47862872/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com