如何使用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