从定制的dockerfile到kubernetes部署一个apache启动

我有一个docker文件,我build立一个Apache Web服务器与一些自定义configuration等

执行Dockerfile我使用Kubernetes创build一个可以在部署yaml文件中使用的映像。 一切正常,但部署后,我的Apache服务是在每个容器的每个容器中。

很明显,我可以访问每个容器来执行一个/etc/init.d/apache2启动,但这个解决scheme不是很聪明..

所以我的问题是:我怎样才能设置我的自定义Apache在部署yaml文件的执行过程中运行?

PS:我试过这个解决scheme:用dockerfile创build一个docker容器,然后我访问它,然后启动apache。 然后我从这个容器(dockerfile commit + gcloud image push)创build了一个新的映像,但是当我部署应用程序时,我总是发现apache down

那么,首先要做的事情 – 我非常推荐使用官方的apache2镜像 ,然后从那里进行自定义configuration。 他们在下面的文档中说明了这一点:

组态

要自定义httpd服务器的configuration,只需在/usr/local/apache2/conf/httpd.conf中复制您的自定义configuration。

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

但是,如果你已经死心塌地build立自己的一切, 你会注意到在官方镜像的Dockerfile里面,他们在BASH脚本中复制,然后将其设置为CMD选项。 这是可行的,因为在运行Docker容器时,您应该运行一个进程 ; 这就是为什么,如你所说,从它的服务运行是一个坏主意。

你可以在这里find他们正在运行的脚本,在7行很短,所以你不应该有太多的麻烦,找出从哪里出发。

祝你好运!