如何使用docker run使用sed命令replacenginx docker image的.conf文件上的文本?

我的entrypoint.sh看起来像这样:

 sed -i 's/HOST_NAME/'"$HOST_NAME"'/g' /usr/local/openresty/nginx/conf/conf.d/CONFIG_FILE.conf exec "$@" 

CONFIG_FILE.conf是这样的:

 upstream gunicorn { server $HOST_NAME; } 

我的docker运行命令如下所示:

 docker run -e HOST_NAME=http://cnn.com sid:latest cat /usr/local/openresty/nginx/conf/conf.d/CONFIG_FILE.conf 

我想通过docker运行通过cnn.com来取代CONFIG_FILE.conf $HOST_NAME

任何帮助将不胜感激,我是新来的,所以如果我犯了愚蠢的错误,请耐心等待。

谢谢。

你可以使用其他分隔符而不是/像sed一样#

 sed -i 's#$HOST_NAME#'"$HOST_NAME"'#g' /usr/local/openresty/nginx/conf/conf.d/CONFIG_FILE.conf