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
在主机上可以查看