使用dockerfile制作apache镜像

使用dockerfile制作apache镜像,第1张

使用dockerfile制作apache镜像 使用dockerfile制作apache镜像 创建apache目录
[root@localhost ~]# tree apache/
apache/
├── Dockerfile
└── files
    ├── apr-1.7.0.tar.gz
    ├── apr-util-1.6.1.tar.gz
    └── httpd-2.4.49.tar.gz

1 directory, 4 files

编写Dockerfile
[root@localhost apache]# cat Dockerfile 
# 第一行必须指定基于的基础镜像
FROM centos

# 维护者信息
LABEL MAINTAINER='[email protected]'

ENV httpd_version 2.4.49
ENV apr_version 1.7.0
ENV util_version 1.6.1

#传输httpd编译所需的源码包
ADD files/*  /usr/src/

WORKDIR /usr/src/

# 镜像 *** 作指令
RUN yum groups mark install 'Development Tools' -y && 
    yum -y install wget openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make && 
    useradd -r -M -s /sbin/nologin apache && 
    cd apr-$apr_version && 
    sed -i '/$RM "$cfgfile"/d' configure && 
    ./configure --prefix=/usr/local/apr && 
    make && make install && 
    cd ../apr-util-$util_version &&  
    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && 
    make && make install && 
    cd ../httpd-$httpd_version && 
    ./configure --prefix=/usr/local/apache 
    --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' /usr/local/apache/conf/httpd.conf

#开放端口号
EXPOSE  80

# 容器启动时默认要执行的指令
#CMD ["/usr/local/apache/bin/apachectl","-D","FOREGROUND"]
ENTRYPOINT ["/usr/local/apache/bin/apachectl","-D","FOREGROUND"]

创建容器
[root@localhost ~]# docker build -t apache:latest apache
[root@localhost ~]# docker tag a8456b3d7ab6 xxkk/httpd:latest
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
xxkk/httpd   latest    a8456b3d7ab6   about a minute ago   704MB
[root@localhost ~]# docker run -tid --name httpd -p 80:80 a8456b3d7ab6
1bf14551603b8e699d410e0a748856c4a75d709aa7172c0a7429c08158d7c98e
[root@localhost ~]# ss -antl
State               Recv-Q              Send-Q                           Local Address:Port                           Peer Address:Port             Process             
LISTEN              0                   128                                    0.0.0.0:80                                  0.0.0.0:*                                    
LISTEN              0                   128                                    0.0.0.0:22                                  0.0.0.0:*                                    
LISTEN              0                   128                                       [::]:80                                     [::]:*                                    
LISTEN              0                   128                                       [::]:22                                     [::]:*                                    
[root@localhost ~]# docker ps
ConTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                               NAMES
1bf14551603b   a8456b3d7ab6   "/usr/local/apache/b…"   44 seconds ago   Up 41 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   httpd


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5653395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存