我在AWS中有一个环境,它有一个ECS集群,一个EFS源和一些在这个集群上运行的服务。
我的一项服务是NginX Web服务器,我用它来服务我们的网站和我们的服务。作为保留一些敏感和静态配置文件的解决方案,我们选择了EFS服务。因此,每个服务都会从此EFS创建一个卷,并在每次容器启动时挂载它。
问题出在NginX上。我想将我的nginx.conf文件存储到EFS文件夹中,在NginX服务启动后,我们希望容器在/etc/nginx/
文件夹中复制此文件,以便我的NginX服务器从我的配置开始。
#!/bin/bash cp /efs/nginx.conf /etc/nginx/ nginx -s reload
样品:
1.命令["cp","/efs/nginx.conf /etc/nginx/"]
2.Entry point ["nginx","-g","daemon off;"]
Command ["cp /efs/nginx.conf /etc/nginx/"]
["nginx","-g","daemon off"]
命令:["/bin/sh","cp","/efs/nginx.conf/","/etc/nginx/"]
["[\"cp\"","\"/efs/nginx.conf\"","\"/etc/nginx/\"]","[\"nginx\"","\"-g\"","\"daemon off;\"]"]
["cp /efs/nginx.conf /etc/nginx/","nginx -g daemon off;"]
["cp","/efs/nginx.conf /etc/nginx/","nginx -g daemon off;"]
-
有谁知道或有没有人已经在ECS上实施此解决方案?用绑定卷中的修改后的/etc/nginx/nginx.conf替换?
提前致谢
解:
正如我在上面的问题中提到的,我想使用一个静态的nginx.conf文件,它将进入一个EFS文件夹,进入我的nginx服务容器。我的任务定义很简单
FROM nginx
EXPOSE 80
RUN mkdir /etc/nginx/html
通过ECS任务定义,我创建一个卷,然后创建一个安装点,这是一个简单的过程,并且工作正常。问题出在入口点字段,它应该包括我的脚本目录和我的脚本本身。
在ECS任务定义环境入口点字段我推出
sh,-c,/efs/docker-cmd-nginx.sh
我的脚本就是以下内容
#!/bin/dash
cp /efs/nginx.conf /etc/nginx/ &&
nginx -g "daemon off;"
PS:问题可能是: