繁体   English   中英

从自定义dockerfile到kubernetes,使用Apache启动部署

[英]From custom dockerfile to kubernetes deploy with an apache started

我有一个泊坞窗文件,其中使用一些自定义配置等构建了一个Apache Web服务器。

执行Dockerfile,我创建了一个映像,该映像可使用Kubernetes在部署yaml文件中使用。 一切工作正常,但是部署后,我的apache服务在每个pod的每个容器中都关闭了。

显然,我可以在每个容器中访问以执行/etc/init.d/apache2 start,但是此解决方案不是很聪明。

所以我的问题是:如何在部署yaml文件执行期间将自定义apache设置为正在运行?

PS:我尝试过这种解决方案:使用dockerfile创建了一个docker容器,然后对其进行访问并开始使用apache。 然后我从该容器创建了一个新映像(dockerfile commit + gcloud image push),但是当我部署应用程序时,我总是发现apache down

首先,首先-我非常建议您仅使用官方的apache2映像 ,然后从那里进行自定义配置。 他们的文档在以下段落中说明了这一点:

组态

要自定义httpd服务器的配置,只需以/usr/local/apache2/conf/httpd.conf复制您的自定义配置。

FROM httpd:2.4
COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf

但是,如果您沉迷于自己构建所有内容,则可以使用它。 您会注意到,在正式映像的Dockerfile内部,它们正在BASH脚本中复制,然后将其设置为CMD选项。 之所以有效,是因为在运行Docker容器时您应该运行一个进程 ; 正如您所说,这就是为什么从服务中运行它是一个坏主意的原因。

您可以在这里找到他们正在运行的脚本,它只有7行,非常短-因此,您不必费劲就能确定从此处开始的位置。

祝你好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM