部署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)

大家都在看

  • Linux NFS服务配置

    bash;gutter:true; 服务端配置: 1. 安装nfs-utils和rpcbind</p> <h1>yum install nfs-utils …

    Linux 2023年6月13日
    080
  • CentOS 7.x 用shell增加、删除端口

    一、在/usr/local/sbin/下创建port文件,不要扩展名,并给权限 chom 777 port 二、用法 #port add 8080 #port remove 808…

    Linux 2023年5月28日
    0100
  • Xftp 远程工具的使用与jdk 安装(Linux最小安装版)

    Xftp 的安装使用 下载链接:Xftp7 – Dominic 的蓝奏云分享 安装和注册步骤可参考 Xshell:Linux 最小安装与 Xshell 远程工具的使用 …

    Linux 2023年6月8日
    0126
  • 022.常见硬盘检测方式

    硬盘监测概述 硬盘异常损坏日常相对概率较高,同时不同的文件系统(xfs,reiserfs,ext3)其检测方式不同。建议使用dmesag查看有没有硬件I/O故障的日志,也可使用用f…

    Linux 2023年6月7日
    093
  • 27. rz与sz上传下载文件

    工作中需要在 Linux 和 Windows 之间传输文件,一般使用xftp等gui工具完成。但是有些第三方linux命令也可以完成上传下载操作 从Linux下载文件到本机 , 在…

    Linux 2023年5月27日
    087
  • 初识前后端

    初识前后端 在学习了解前后端的过程中,自己看到了这一篇好的文章,摘下了一些当下用的的内容,供复习参考。 什么是前端开发? 前端开发主要涉及网站和 App,用户能够从 App 屏幕或…

    Linux 2023年6月13日
    0115
  • 011 Linux 打包与解压 tar

    01 压缩、打包命令有哪些? Linux上有着各种压缩、打包的工具:tar、gzip、zip、7z,而 tar 应该算是 Linux 官宣的压缩工具了。tar 的核心压缩工具其实是…

    Linux 2023年5月27日
    084
  • JDK的环境变量

    jdk下载并配置下载jdk下图是自己资源管理器中jdk的安装路径,双击然后next就好,不需要改什么配置 手里没有安装包的,下载地址在这里 :https://www.oracle….

    Linux 2023年6月13日
    074
  • 如何配置静态路由

    1.主机A想要和主机B 进行通讯,首先会发送一个ARP的广播。 2.第一次封装包含:源IP(192.168.1.2)目的IP(192.168.2.2);源Mac(11-11)目的M…

    Linux 2023年6月6日
    0116
  • 单机简易版mapReduce 实现

    go;gutter:true;collapse:false import "fmt" import "6.824/mr" import &q…

    Linux 2023年6月7日
    0198
  • Apache Shiro 身份验证绕过漏洞 (CVE-2020-1957)

    一、漏洞描述 Apache Shiro 是一个功能强大且易于使用的 Java 安全框架,它执行身份验证、授权、加密和会话管理。 在具有 Spring 动态控制器的 1.5.2 之前…

    Linux 2023年6月13日
    0135
  • 《分布式系统原理介绍》读书笔记

    1、在大型集群中每日宕机发生的概率为千分之一左右;在实践中,一台宕机的机器恢复时间通常认为是 24 小时。 2、由于网络数据丢失的异常存在,直接决定了分布式系统的协议必须能处理网络…

    Linux 2023年6月16日
    0109
  • 1. 斐波那契数 爬楼梯 使用最少花费爬楼梯

    版本一:一维数组记录型 class Solution { public: int fib(int n) { if(n dp(n+1); dp[0] = 0; dp[1] = 1; …

    Linux 2023年6月6日
    0107
  • git 那些事儿 —— 基于 Learn Git Branching

    推荐一个 git 图形化教学网站:Learn Git Branching,这个网站有一个沙盒可以直接在上面模拟 git 的各种操作,操作效果使用图形的方式展示,非常直观。本文可以看…

    Linux 2023年5月27日
    0132
  • subprocess模块简介

    subprocess模块可以执行系统命令,该模块允许用户创建一个新的进程,该进程会连接到input|output|error管道并获取到返回的状态码。 本文版本是以python3….

    Linux 2023年6月7日
    082
  • 使用docker 5分钟搭建一个博客(mysql+WordPress)

    一.系统环境 二.前言 三.搭建博客 3.1 创建wordpress和mysql容器 3.2 在wordpress界面设置个人博客信息 3.3 WordPress容器创建命令的简化…

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