- 目录结构
- Dockerfile编写
- 生成镜像、并启动成容器
[root@localhost apache]# pwd /root/apache [root@localhost ~]# tree apache/ apache/ ├── apr-1.7.0.tar.gz ├── apr-util-1.6.1.tar.gz ├── Dockerfile └── httpd-2.4.48.tar.gzDockerfile编写
# 第一行必须指定基于的基础镜像
FROM centos
# 维护者信息
LABEL MAINTAINER='wjm @126.com'
# 下载阿里的源
RUN yum -y install epel-release && yum -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make && yum -y groups mark install 'Development Tools'
ADD apr-1.7.0.tar.gz /usr/src/
ADD apr-util-1.6.1.tar.gz /usr/src/
ADD httpd-2.4.48.tar.gz /usr/src/
RUN cd /usr/src/apr-1.7.0 && ./configure --prefix=/usr/local/apr && make && make install &&
cd /usr/src/apr-util-1.6.1 && ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install &&
cd /usr/src/httpd-2.4.48 && ./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 &&
useradd -r -M -s /sbin/nologin apache &&
sed -i 's/$RM "$cfgfile"/# $RM "$cfgfile"/g' /usr/src/apr-1.7.0/configure &&
ln -s /usr/local/apache/include/ /usr/include/httpd &&
sed -i 's/#ServerName www.example.com:80/ServerName www.example.com:80/g' /usr/local/apache/conf/httpd.conf
CMD ["-D","FOREGROUND"]
ENTRYPOINT ["/usr/local/apache/bin/apachectl"]
EXPOSE 80 443 //暴露端口,这里暴露的端口是不一定存在的
生成镜像、并启动成容器
[root@localhost ~]# docker build -t wjm1734321/httpd:v0.1 apache [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE wjm1734321/httpd v0.1 8e69401ab000 6 minutes ago 732MB mysql latest bbf6571db497 7 days ago 516MB nginx latest f652ca386ed1 7 days ago 141MB busybox latest d23834f29b38 9 days ago 1.24MB centos latest 5d0da3dc9764 2 months ago 231MB //启动成容器 [root@localhost ~]# docker run -itd --name web -p 80:80 wjm1734321/httpd:v0.1 [root@localhost ~]# docker ps ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9215a84d64f0 wjm1734321/httpd:v0.1 "/usr/local/apache/b…" 6 minutes ago Up 6 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 443/tcp web
页面测试



