Alpine安装apache
Alpine安装apache
//创建目录
[root@localhost ~]# mkdir apache soft
[root@localhost ~]# cd apache/
[root@localhost apache]# ls
Dockerfile script soft
[root@localhost apache]# cd soft/
[root@localhost soft]# ls
apr-1.6.5.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.46.tar.gz
编写Dockerfile
[root@localhost apache]# vim Dockerfile
#第一行必须指定基于的基础镜像
FROM alpine
ENV PATH /usr/local/apache/bin:$PATH
COPY soft /usr/src/
WORKDIR /usr/src/
# 维护者信息
# 镜像操作指令
RUN echo 'https://mirrors.ustc.edu.cn/alpine/v3.12/main/' > /etc/apk/repositories && \
echo 'https://mirrors.ustc.edu.cn/alpine/v3.12/community/' >> /etc/apk/repositories && \
apk update && \
apk add --no-cache -U gcc g++ make openssl-dev pcre-dev expat-dev libtool && \
addgroup -S apache && \
adduser -DHS -s /sbin/nologin -G apache apache && \
tar xf apr-1.6.5.tar.gz && \
tar xf apr-util-1.6.1.tar.gz && \
tar xf httpd-2.4.46.tar.gz && \
sed -i '/$RM "$cfgfile"/d' apr-1.6.5/configure && \
cd apr-1.6.5 && \
./configure --prefix=/usr/local/apr && make && make install && \
cd ../apr-util-1.6.1 && \
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && \
make && make install && \
cd ../httpd-2.4.46 && \
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util/ \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork && \
make && make install && \
sed -i '/^#ServerName/s/#//g' /etc/httpd24/httpd.conf && \
rm -rf /usr/src/* /var/cache/* && \
apk del gcc g++ make
#容器启动时默认要执行的指令
EXPOSE 80 443
CMD ["-X"]
ENTRYPOINT ["httpd"]
生成镜像
[root@localhost ~]# docker build -t apache:v0.1 apache
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
apache v0.1 b54f05226958 4 minutes ago 68.7MB
alpine latest 389fef711851 4 weeks ago 5.58MB
运行容器
[root@localhost ~]# docker