docker-web服务应用 apache

本文详细介绍如何使用Docker构建Apache Web服务,包括官方镜像的Dockerfile编写与自定义镜像的环境配置,展示了如何通过Dockerfile安装Apache并设置工作目录,以及如何通过本地目录映射实现内容更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Apache

Apache 是目前世界使用排名第一的web服务软件。

1.1 官方镜像编写Dockerfile

FROM httpd:latest

COPY ./public-html /usr/local/apache2/htdocs

cat ./public-html/index.html

<!DOCTYPE html>
    <html>
        <body>
            <p>Hello. chao!</p>
        </body>
</html>

创建启动

docker build -t apache2 .

docker run -it --rm --name apache -p 80:80 -v "$PWD":/usr/local/apache2/htdocs apache2

1.2 使用自定义镜像

环境准备:

mkdir apache_ubuntu   &&  cd apache_ubuntu

touch Dockerfile run.sh

mkdir sample

dockerfile 文件

FROM sshd:dockerfile

MAINTAINER docker_user (chao)

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get   -yq  install apache2 &&  rm -rf  /var/lib/apt/lists/*

#COPY /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./Shanghai /etc/localtime

ADD run.sh /run.sh
RUN chmod 755 /run.sh

RUN mkdir -p /var/lock/apache2 && mkdir -p /var/run/apache2  && mkdir -p /app && rm -rf /var/www/html/* && ln -s /app /var/www/html

COPY sample/ /app

#设置变量
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_PID_FILE /var/run/apache.pid
ENV APACHE_RUN_DIR /var/run/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
ENV APACHE_SERVERADMIN admin@localhost
ENV APACHE_SERVERNAME localhost 
ENV APACHE_SERVERALIAS docker.localhost
ENV APACHE_DOCUMENTROOT /var/www

EXPOSE 80
WORKDIR /app
CMD ["/run.sh"]

在目录sample下创建index.html内容如下

<!DOCTYPE html>
<html>
<body>

<p>Hello, world!</p>

</body>
</html>

run.sh内容如下

#!/bin/bash
/usr/sbin/sshd &
exec apache2 -D FOREGROUND

创建apache:ubuntu镜像

docker build -t apache:ubuntu .

测试

#运行
docker run -d -p 9022:22 apache:ubuntu 

#在浏览器查看

映射

本机当前目录下的www目录映射到/var/www目录

docker run -i -d -p 9022:22 -p 8701:80  -e APACHE_SERVERNAME=test  -v /data/docker/apache_ubuntu/www:/var/www:ro apache:web

在当前目录下创建www目录,并放上自定义index.html 

在主机上可以查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值