[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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)