部署apache

1、使用DockerHub镜像

[root@master ~]# mkdir httpd_dockerfile
[root@master ~]# cd httpd_dockerfile &&mkdir public-html
[root@master ~]# vim Dockerfile
FROM httpd:2.4
COPY ./public /usr/local/apache2/htdocs

#创建index.html文件
[root@master ~]# vim ./public-html/index.html
<!DOCTYPE html>
<html>
<body><p>Hello,Docker!</p></body>
</html>

[root@master ~]# docker build -t apache2-image .
[root@master ~]# docker run -d -p 80:80 apache2-image

部署apache

2、不创建自定义镜像,通过目录映射方式运行

[root@master httpd_dockerfile]# docker run -it --rm -p 80:80 --name my-apache-app -v pwd:/usr/local/apache2/htdocs/ httpd:2.4

3、使用自定义镜像作为基础镜像

[root@master ~]# mkdir apache_ubuntu && cd apache_ubuntu && mkdir sample
[root@master apache_ubuntu]# cp ~/httpd_dockerfile/public/index.html ./sample
[root@master apache_ubuntu]# vim Dockerfile
#&#x57FA;&#x7840;&#x81EA;&#x5B9A;&#x4E49;&#x955C;&#x50CF;sshd:dockerfile
FORM sshd:dockerfile&#xA0;
#&#x521B;&#x5EFA;&#x8005;&#x4FE1;&#x606F;
MAINTAINER docker_user (user@docker.com)
#&#x8BBE;&#x7F6E;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#xFF0C;&#x6240;&#x4EE5;&#x64CD;&#x4F5C;&#x90FD;&#x662F;&#x975E;&#x4EA4;&#x4E92;&#x5F0F;
ENV DEBIAN_FRONTEND noninteractive
#-q&#x4E3A;&#x51CF;&#x5C11;&#x4E0D;&#x5FC5;&#x8981;&#x7684;&#x8F93;&#x51FA;
RUN apt-get -yq install apache2 && rm -rf /var/lib/apt/lists/*
#&#x66F4;&#x6539;&#x7CFB;&#x7EDF;&#x65F6;&#x533A;&#x8BBE;&#x7F6E;&#xFF0C;&#x56E0;&#x4E3A;web&#x5E94;&#x7528;&#x7ECF;&#x5E38;&#x4F1A;&#x7528;&#x5230;&#x65F6;&#x533A;&#x7CFB;&#x7EDF;&#x53D8;&#x91CF;,dpkg-reconfigure&#x4E3A;&#x91CD;&#x65B0;&#x52A0;&#x8F7D;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF0C;-f&#x975E;&#x4EA4;&#x4E92;&#x5F0F;&#x64CD;&#x4F5C;
RUN echo "Asia/Shanghai" > /etc/timezone && dpkg-reconfigure -f nonineractive tzdata
ADD run.sh /run.sh && chmod 755 /run.sh
#&#x521B;&#x5EFA;&#x8FDB;&#x7A0B;&#x9501;
RUN mkdir -p /var/lock/apache2&#xA0;
COPY sample/ /var/www/html
#&#x8BBE;&#x7F6E;apache&#x76F8;&#x5173;&#x7684;&#x4E00;&#x4E9B;&#x53D8;&#x91CF;,&#x5728;&#x5BB9;&#x5668;&#x542F;&#x52A8;&#x65F6;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;-e&#x53C2;&#x6570;&#x66FF;&#x4EE3;
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid
ENV APACHE_RUN_DIR /var/run/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
ENV APACHE_SERVERADMIN admin@localhost
ENV APACHE_SERVERALIAS docker.localhost
ENV APACHE_DOCUMENTROOT /var/www
EXPOSE 80
WORKDIR /var/www/html
CMD ["/run.sh"]

[r[root@master apache_ubuntu]# vim run.sh
#!/bin/bash
#&#x542F;&#x52A8;apache&#x670D;&#x52A1;&#xFF0C;exec&#x6307;&#x5411;&#x547D;&#x4EE4;&#x5E76;&#x4E0D;&#x521B;&#x5EFA;&#x65B0;&#x7684;shell
exec apache2 -D FOREGROUND &#xA0;
#&#x542F;&#x52A8;sshd&#x670D;&#x52A1;
/usr/sbin/sshd &

[root@master apache_ubuntu]# docker build -t apache:ubuntu .
#&#x4F7F;&#x7528;-P&#x968F;&#x673A;&#x9009;&#x53D6;&#x6620;&#x5C04;&#x7AEF;&#x53E3;(49000-49900)
[root@master apache_ubuntu]# docker run -d -P apache:ubuntu
[root@master apache_ubuntu]# curl 172.21.214.247:80

4、通过映射本地目录方式,来指定apache的响应内容

docker run -d -p 80:80 -p 103:20 -e APACHE_SERVERNAME=test -v 'pwd'/www:/var/www:ro apache:ubuntu

Original: https://www.cnblogs.com/nnijia/p/16028462.html
Author: 派大星和他的朋友
Title: 部署apache

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/607181/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Docker部署Dotnet

    方法一:打包+镜像 部署 将要部署的项目及其依赖的项目上传至指定文件夹下 要部署的项目添加Docker支持,生成Dockerfile文件 将生成的Dockerfile文件上传至要部…

    Linux 2023年6月13日
    0110
  • powershell 编写的tui界面脚本《电壳别名宝》

    中文名: 《电壳别名宝》 English name: 《Power Alias》 powershell 编写的tui界面脚本。 用途:保存容易记住的别名(支持中文),保存linux…

    Linux 2023年6月14日
    088
  • ACL和NAT

    NAT 概述: NAT(网络地址翻译)一个数据包目的ip或者源ip为私网地址, 运营商的设备 无法转发数据。 NAT工作机制: 一个数据包从企业内网去往公网时,路由器将数据包当 中…

    Linux 2023年6月6日
    090
  • SpringBoot + Vue + ElementUI 实现后台管理系统模板 — 后端篇(五): 数据表设计、使用 jwt、redis、sms 工具类完善注册登录逻辑

    (1) 相关博文地址: SpringBoot + Vue + ElementUI 实现后台管理系统模板 — 前端篇(一):搭建基本环境:https://www.cnblogs.c…

    Linux 2023年6月11日
    0157
  • [apue] linux 文件系统那些事儿

    前言 说到 linux 的文件系统,好多人第一印象是 ext2/ext3/ext4 等具体的文件系统,本文不涉及这些,因为研究具体的文件系统难免会陷入细节,甚至拉大段的源码做分析,…

    Linux 2023年5月27日
    099
  • springboot系列十、springboot整合redis、多redis数据源配置

    一、简介 Redis 的数据库的整合在 java 里面提供的官方工具包:jedis,所以即便你现在使用的是 SpringBoot,那么也继续使用此开发包。 二、redidTempl…

    Linux 2023年5月28日
    0109
  • MongoDB安装使用教程

    MongoDB安装使用教程 介绍 MongoDB是一个基于分布式文件存储的数据库,是一个文档数据库,支持的数据结构非常松散,是类似json的bson格式,可以存储比较复杂的数据类型…

    Linux 2023年6月6日
    094
  • Android so(ELF)文件解析

    一、前言 so文件是啥?so文件是elf文件,elf文件后缀名是 .so ,所以也被chang常称之为 so&#x6587;&#x4EF6;,elf文件是linux…

    Linux 2023年6月8日
    096
  • linux自动备份mysql数据库

    备份脚本记录一下–(单个数据库) 2021-11-15 1.新建shell脚本:vim **.sh #!/bin/bashCKUP=/data/backup/db #获…

    Linux 2023年5月27日
    0108
  • 这几天的杂学

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    085
  • 【计算题】考研数据结构计算题型整理

    题型1:递归程序,一般使用公式进行递推 int fact(int n){ if(n 本题是求阶乘的递归代码,即n * (n-1) * …. * 1。每次递归调用 fac…

    Linux 2023年6月13日
    095
  • 四大高阶函数、匿名函数、递归

    四大高阶函数: map、reduce、filter、sorted 1.map函数: 根据提供的函数对指定序列做映射 使用可迭代对象(指定的序列)中的每个元素调用函数,将返回值作为新…

    Linux 2023年6月8日
    0101
  • Ubuntu 18.04替换默认软件源

    安装Ubuntu 18.04后,默认源在国外,可以替换为国内的源以提升访问速度 参考https://mirrors.ustc.edu.cn/repogen/ sudo vi /et…

    Linux 2023年6月6日
    087
  • Redis功能拓展-消息队列

    1.什么是消息队列,消息队列解决什么问题?从宏观上看,消息队列就是围绕队列这个数据结构而拓展开的一段特殊程序,将这类程序单独部署就可以称之为消息中间件(也称:消息队列)。在分布式系…

    Linux 2023年6月7日
    092
  • [转]Redis cluster failover

    今天测试了redis cluster failover 功能,在切换过程中很快,但在failover时有force 与takeover 之分 [RHZYTEST_10:REDIS:…

    Linux 2023年5月28日
    086
  • 【AutoSAR】 CP 和 AP

    概述 AutoSAR,全称为Automotive Open System Architecture(汽车开放系统架构)。是由全球各家汽车制造商、零部件供应商以及各种研究、服务机构共…

    Linux 2023年6月13日
    0116
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球