用dockerfile做一个apache的镜像

  • 创建存放apache服务Dockerfile文件的目录
  • 上传apr、apr-util、httpd源码包
  • 编写Dockerfile文件
  • 构建镜像
  • 查看镜像
  • 基于新镜像创建容器
  • 访问网页

创建存放apache服务Dockerfile文件的目录

[root@localhost ~]# mkdir apache
[root@localhost ~]# cd apache/
[root@localhost apache]# mkdir files

上传apr、apr-util、httpd源码包

[root@localhost apache]# cd files/
[root@localhost files]# ls
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.48.tar.gz

编写Dockerfile文件

[root@localhost apache]# vim Dockerfile
# 基础镜像
FROM centos# 作者信息
LABEL WAINTAINER='wjj200112 1234567890@qq.com'# 上传本机上的apache压缩包,传输过程中会自动解压
ADD files/* /usr/local# 切换当前目录
WORKDIR /usr/local/# 编译安装
RUN yum -y install openssl-devel pcre-devel pcre expat-devel libtool gcc gcc-c++ make which && \cd apr-1.7.0 && sed -i '/$RM "$cfgfile"/d' configure && \./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.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# 开放端口号
EXPOSE 80# 设置存储卷
VOLUME ["/usr/local/apache/htdocs/"]# 环境变量
ENV PATH /usr/local/apache/bin:$PATH# 启动容器时执行的命令
CMD ["/usr/local/apache/bin/apachectl","-D","FOREGROUND"]

构建镜像

[root@localhost ~]# docker build -t wjj200112/httpd:latest apache
........此处省略多行执行过程
Removing intermediate container 45f40500358e---> bcbbcad642d8
Step 6/9 : EXPOSE 80---> Running in 726e648085b3
Removing intermediate container 726e648085b3---> c3a106d80d8e
Step 7/9 : VOLUME ["/usr/local/apache/htdocs/"]---> Running in 905edca5b645
Removing intermediate container 905edca5b645---> 402d9495825d
Step 8/9 : ENV PATH /usr/local/apache/bin:$PATH---> Running in 677167db82e7
Removing intermediate container 677167db82e7---> cc5aab9ffa5f
Step 9/9 : CMD ["/usr/local/apache/bin/apachectl","-D","FOREGROUND"]---> Running in c88a4ee5d4ce
Removing intermediate container c88a4ee5d4ce---> 36472e701b79
Successfully built 36472e701b79
Successfully tagged wjj200112/httpd:latest

查看镜像

[root@localhost ~]# docker images
REPOSITORY        TAG       IMAGE ID       CREATED         SIZE
wjj200112/httpd   latest    36472e701b79   3 minutes ago   701MB
centos            latest    5d0da3dc9764   2 months ago    231MB

基于新镜像创建容器

[root@localhost ~]# docker run -d -P --name apache wjj200112/httpd:latest
fa9e3e4509fed96b79939ec7839ccb484591509de13c25413c87cd7c3025d926
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED         STATUS         PORTS                                     NAMES
fa9e3e4509fe   wjj200112/httpd:latest   "/usr/local/apache/b…"   8 seconds ago   Up 7 seconds   0.0.0.0:49153->80/tcp, :::49153->80/tcp   apache

访问网页

用dockerfile做一个apache的镜像相关推荐

  1. docker 怎样用一个基础镜像然后做一个新的镜像

    docker 怎样用一个基础镜像然后做一个新的镜像 我们知道docker 镜像必须有一个基础镜像,那么如何从一个基础镜像制作出自己需要的镜像呢? docker load 基础镜像 ------load ...

  2. 如何使用 Skopeo 做一个优雅的镜像搬运工

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 1. 基础介绍 描述: 作为公司内部 PaaS toB 产品的打包发布人员,容器镜像对我们打工人而言就像是工地上的 ...

  3. 给Ocelot做一个Docker 镜像

    写在前面 在微服务架构中,ApiGateway起到了承前启后,不仅可以根据客户端进行分类,也可以根据功能业务进行分类,而且对于服务调用服务也起到了很好的接口作用.目前在各个云端中,基本上都提供了Api ...

  4. 【树莓派】做一个备份镜像

    在做树莓派镜像时候,遇到了一点问题,参考这篇文章,再重试一下. Adafruit的树莓派教程第一课福利:做一个备份镜像 04/08/2014 Boyd Wang Adafruit树莓派教程 , 树莓派 ...

  5. Dockerfile精编细作(二)构建一个简单的镜像

    Bash镜像说明 例如:CentOS的Dockerfile中FROM serach dockerHub上几乎所有的镜像都是通过bash镜像中安装和配置需要的软件构建出来的 构建一个简单的镜像 构建一个 ...

  6. dockerfile中的run_Docker3-Dockerfile创建镜像的方法(推荐docker file这种方法)

    一.镜像制作的方法 1.本地导入导出镜像 请参考:Docker 架构原理及简单使用 导出:docker save nginx >/tmp/nginx.tar.gz导入:docker load 2 ...

  7. 简化软件集成:一个Apache Camel教程

    本文来自于阮一峰,文章主要讲解了构建的流程,每个步骤介绍的较为详细,希望对大家有帮助. 软件很少(如果有的话)存在于信息真空中.至少,这是我们软件工程师可以为我们开发的大多数应用程序做出的假设. 在任 ...

  8. 【杂谈】如何应对烦人的开源库版本依赖-做一个心平气和的程序员?

    平时做开发时最烦人的除了项目不会做,恐怕就是环境依赖的问题了吧. 一个好好的项目,换个环境总是出问题,开源库一升级就挂掉,总有"坏人"搞掉自己的系统库,今天就来随便聊聊吧. 作者 ...

  9. dockerfile安装yum_Docker镜像-基于DockerFile制作yum版nginx镜像

    Docker镜像-基于DockerFile制作yum版nginx镜像 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. DockerFile可以说是一种能被Docker程序解释的脚本, ...

最新文章

  1. python对外发布的时间_Python如何进行时间处理
  2. java多线程问题_【java 多线程】多线程并发同步问题及解决方法
  3. 是不是用博客园编辑器插入修改图片好困难?怀念Word吧,看看用Word2010发博客教程吧~...
  4. Windows Phone(三)WP7版 记账本 开发(使用SQLite数据库)
  5. 视频专辑:Servlet视频教程
  6. 依存句法分析的任务以及形式化定义
  7. 视频通信原理——NAT介绍
  8. EBB-4、忘记root密码;文件,目录权限
  9. Linux SSH保持连接(解决Broken pipe)
  10. 如何编程实现iAMT无线功能的禁用和开启
  11. COCO数据集转VOC之检测
  12. html去除背景颜色怎么设置,去掉背景颜色的六种情况
  13. RNN Transducer(RNN-T)——李宏毅人类语言处理学习笔记
  14. java freemarker 图片_java通过freemarker导出包含富文本图片的word文档
  15. 恩兔NS-1刷ARMBIAN教程
  16. 快速入门Kotlin
  17. Daily Scrum Meeting 11.12
  18. 编写非递归算法实现二叉树的中序遍历
  19. Gstreamer基础教程13:Playback Speed
  20. 破解某Wifi APP,无需Root也可查看密码

热门文章

  1. [小说连载]张小庆,在路上(8)- 再见,余鹏!
  2. ThinkPad E14拆机,拆无线网卡、蓝牙和摄像头
  3. 哄一哄能让GPT-3准确率暴涨61%!谷歌东京大学研究震惊四座
  4. p40怎么装鸿蒙,P40没使用鸿蒙,但鸿蒙适配的“华为汽车”要来了,今年能落地 - 区块网...
  5. 【MQ读书笔记之RabbitMQ】RabbitMQ消息队列面试题
  6. ORA-12899:value too large for column impdp数据导入报错
  7. 邮件阅读总数统计小技巧
  8. 秦汉清华附中2021年高考成绩查询,清华附中高考成绩2018
  9. 埃森哲推出软件许可证管理区块链平台
  10. what a fuck!这是什么鬼东西?