Bootstrap

Linux 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 
;