我正在尝试使用 httpd
docker image 运行一些基本的 html 页面。
docker 文件
FROM httpd:alpine
COPY ./views /usr/local/apache2/htdocs/ # where my html pages stored
COPY httpd.conf /usr/local/apache2/conf/httpd.conf
RUN httpd -v
EXPOSE 7074
httpd.conf
ServerName localhost
Listen 7074
LoadModule mpm_event_module modules/mod_mpm_event.so
docker-compose
version: '3'
frontend_image:
image: frontend_image
build:
context: ./frontend_image
dockerfile: Dockerfile
network_mode: "host"
env_file: "./api.env"
depends_on:
- apigateway
然后:sudo docker-compose up --build
RUN httpd -v
给出:
Server version: Apache/2.4.43 (Unix)
Server built: Apr 24 2020 15:46:58
但是
Project_frontend_image_1 exited with code 1
我如何将入口点添加到 httpd
,因为我在 /usr/sbin
中没有 apachectl2
。
编辑:
我试过 docker run -dit --name my-apache-app -p 7575:80 -v "$PWD":/usr/local/apache2/htdocs/httpd:2.4
并且有效。
最佳答案
这似乎是 httpd.conf
文件的问题,而不是 Docker 镜像的问题。
你可以运行 docker run -dit --name my-apache-app -p 7575:80 -v "$PWD":/usr/local/apache2/htdocs/httpd:2.4
并访问 apache 服务。
运行上面的命令并登录到正在运行的容器:sudo docker exec -it container_id/bin/sh
cat/usr/local/apache2/conf/httpd.conf
复制httpd.conf
中的内容和过去,更改端口。
无需添加 CMD[""]
东西,因为 httpd:alpine
基本图像可以做到这一点。
只需在 Dockerfile 中 COPY httpd.conf/usr/local/apache2/conf/httpd.conf
。
关于apache - docker httpd :alpine image exits with code 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61853292/