当前位置: 首页 > news >正文

【Docker】apache 容器化部署

Apache环境标准软件基于Bitnami apache 构建。当前版本为2.4.58

你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作,该项目已经全面开源,可以从如下环境获取
配置文件地址: https://gitee.com/qingplus/qingcloud-platform

QingHub部署

快速启动样例

在容器中/app路径默认为配置为 Apache DocumentRoot 目录。

docker run --name apache -v /path/to/app:/app bitnami/apache:latest

或使用 Docker Compose:

version: '2'services:apache:image: 'bitnami/apache:latest'ports:- '80:8080'- '443:8443'volumes:- /path/to/app:/app

注意:由于这是一个非根容器,因此挂载的文件和目录必须具有 UID 的适当权限1001。

从主机访问您的服务器

要从主机访问 Web 服务器,您可以要求 Docker 将主机上的随机端口映射到8080容器8443中公开的端口。

docker run --name apache -P bitnami/apache:latest

运行docker port以确定 Docker 分配的随机端口。

$ docker port apache
8443/tcp -> 0.0.0.0:32768
8080/tcp -> 0.0.0.0:32769

您还可以手动指定要从主机转发到容器的端口。

docker run -p 8080:8080 -p 8443:8443 bitnami/apache:latest

通过导航到http://localhost:8080/来访问您的浏览器中的 Web 服务器。

配置

环境变量

可定制的环境变量
NameDescriptionDefault Value
APACHE_SERVER_TOKENSApache ServerTokens 指令。Prod
只读环境变量
NameDescriptionValue
WEB_SERVER_TYPE网络服务器类型apache
APACHE_BASE_DIRApache 安装目录。${BITNAMI_ROOT_DIR}/apache
APACHE_BIN_DIR二进制可执行文件的 Apache 目录。${APACHE_BASE_DIR}/bin
APACHE_CONF_DIRApache 配置目录。${APACHE_BASE_DIR}/conf
APACHE_DEFAULT_CONF_DIRApache 默认配置目录。${APACHE_BASE_DIR}/conf.default
APACHE_HTDOCS_DIR包含要通过 Apache 提供服务的 HTTP 文件的目录。${APACHE_BASE_DIR}/htdocs
APACHE_TMP_DIR运行时临时文件的 Apache 目录。${APACHE_BASE_DIR}/var/run
APACHE_LOGS_DIRApache 日志目录。${APACHE_BASE_DIR}/logs
APACHE_VHOSTS_DIR虚拟主机的 Apache 目录。${APACHE_CONF_DIR}/vhosts
APACHE_HTACCESS_DIRhtaccess 文件的 Apache 目录。${APACHE_VHOSTS_DIR}/htaccess
APACHE_CONF_FILEApache 配置的路径。${APACHE_CONF_DIR}/httpd.conf
APACHE_PID_FILEApache PID 文件的路径。${APACHE_TMP_DIR}/httpd.pid
APACHE_DAEMON_USERApache 系统用户。daemon
APACHE_DAEMON_GROUPApache system group.daemon
APACHE_DEFAULT_HTTP_PORT_NUMBER在构建时启用的默认 Apache HTTP 端口号。8080
APACHE_DEFAULT_HTTP_PORT_NUMBER在构建时启用的默认 Apache HTTP 端口号。80
APACHE_DEFAULT_HTTPS_PORT_NUMBER在构建时启用的默认 Apache HTTPS 端口号。8443
APACHE_DEFAULT_HTTPS_PORT_NUMBER在构建时启用的默认 Apache HTTPS 端口号。443

当您启动 Apache image时,您可以通过在 docker-compose 文件或命令行上传递一个或多个环境变量来调整实例的配置docker run。如果要添加新的环境变量:

  • 对于 docker-compose,在应用程序部分下添加变量名称和值:
version: '2'services:apache:image: 'bitnami/apache:latest'ports:- '80:8081'- '443:8443'environment:- APACHE_HTTP_PORT_NUMBER=8081
  • 对于手动执行,-e为每个变量和值添加一个选项:
docker run -d --name apache -p 80:8081 -p 443:443 \--network apache-tier \--e APACHE_HTTP_PORT_NUMBER=8081 \bitnami/apache:latest

添加自定义虚拟主机

默认情况httpd.conf下包括放置在/opt/bitnami/apache/conf/vhosts/. 您可以挂载my_vhost.conf到虚拟主机的文件/vhosts。
例如,为了添加一个虚拟主机www.example.com:

Step 2:使用以下内容编写文件my_vhost.conf
<VirtualHost *:8080>ServerName www.example.comDocumentRoot "/app"<Directory "/app">Options Indexes FollowSymLinksAllowOverride AllRequire all granted</Directory>
</VirtualHost>
Step 2: 将配置挂载为卷
docker run --name apache \-v /path/to/my_vhost.conf:/vhosts/my_vhost.conf:ro \bitnami/apache:latest

或使用 Docker Compose:

version: '2'services:apache:image: 'bitnami/apache:latest'ports:- '80:8080'- '443:8443'volumes:- /path/to/my_vhost.conf:/vhosts/my_vhost.conf:ro

使用自定义 SSL 证书

*注意:*以下步骤假设您使用自定义域名,并且您已将自定义域名配置为指向您的服务器。

该容器附带了已预先配置的 SSL 支持,并配有虚拟证书(server.crt以及server.key中的文件/certs)。如果您想使用自己的证书 ( .crt) 和证书密钥 ( .key) 文件,请按照以下步骤操作:

Step 1: 准备您的证书文件

在您的本地计算机中,创建一个名为certs的文件夹并放置您的证书文件。确保将两个文件分别重命名为server.crt和server.key:

mkdir /path/to/apache-certs -p
cp /path/to/certfile.crt /path/to/apache-certs/server.crt
cp /path/to/keyfile.key  /path/to/apache-certs/server.key
Step 2: 运行 Apache image

从主机安装证书目录运行 Apache image,

docker run --name apache \-v /path/to/apache-certs:/certs \bitnami/apache:latest

或使用 Docker Compose:

version: '2'services:apache:image: 'bitnami/apache:latest'ports:- '80:8080'- '443:8443'volumes:- /path/to/apache-certs:/certs

Full configuration

该image在/opt/bitnami/apache/conf中查找配置。您可以使用自己的自定义配置文件覆盖httpd.conf文件。

docker run --name apache \-v /path/to/httpd.conf:/opt/bitnami/apache/conf/httpd.conf \bitnami/apache:latest

或使用 Docker Compose:

version: '2'services:apache:image: 'bitnami/apache:latest'ports:- '80:8080'- '443:8443'volumes:- /path/to/httpd.conf:/opt/bitnami/apache/conf/httpd.conf
http://www.lryc.cn/news/318023.html

相关文章:

  • 基于element-plus +腾讯云COS实现图片上传
  • Kafka模拟器产生数据仿真-集成StructuredStreaming做到”毫秒“级实时响应StreamData落地到mysql
  • IDEA如何删除git最新一次远程提交
  • 什么是单向数据流
  • Qt 线程池 QThreadPool
  • 【兔子机器人】实现从初始状态到站立
  • ImportError: cannot import name ‘open_filename‘ from ‘pdfminer.utils‘已搞定
  • 一文解决Word中公式插入问题(全免费/latex公式输入/texsWord)
  • C语言实战——扫雷游戏
  • .Net使用ElasticSearch
  • HTML5、CSS3面试题(二)
  • sqllab第十一关通关笔记
  • 机械女生,双非本985硕,目前学了C 基础知识,转嵌入式还是java更好?
  • Python之字符串操作大全(29种方法)
  • ArcGIS学习(十五)用地适宜性评价
  • 【matlab】如何将.mat文件与.nii文件互转
  • Uni-app开发Canvas当子组件示例,点点绘制图形
  • 从金蝶云星空到钉钉通过接口配置打通数据
  • Unreal发布Android在刘海屏手机上不能全屏显示问题
  • hive库表占用空间大小的命令
  • 关于go中的select
  • 【Node.js从基础到高级运用】十一、构建RESTful API
  • Python和MATLAB数字信号波形和模型模拟
  • 华为OD技术C卷“测试用例执行计划”Java解答
  • solana 入门 1
  • JavaEE之多线程(创建线程的五种写法)详解
  • ChatGPT国内能用吗?中国用户怎么才能使用ChatGPT?
  • 集群保持集群负载均衡和hash一致性
  • 吴恩达深度学习笔记:神经网络的编程基础2.9-2.14
  • 在C++项目中使用python脚本(四种)常见报错解决