如何在Docker容器中使用SED编辑application.properties文件?
使用SED修改Docker容器内的配置文件
你可以通过两种方式完成修改,直接在EC2宿主机执行命令,或者进入容器后操作:
方式一:直接在EC2宿主机执行(推荐)
无需进入容器,直接用docker exec调用SED命令修改文件:
docker exec e2afc27e858e sed -i 's/^accessToken=.*/accessToken=abcd123/' /score-client/conf/applications.properties
命令说明:
e2afc27e858e:你的Docker容器IDsed -i:-i参数让SED直接修改原文件,而非仅输出修改结果到终端s/^accessToken=.*/accessToken=abcd123/:正则替换规则,匹配以accessToken=开头的行,将整行替换为accessToken=abcd123
方式二:进入容器后执行
如果需要先进入容器操作,先通过以下命令进入容器终端(若容器无bash则用/bin/sh):
docker exec -it e2afc27e858e /bin/sh
进入容器后,执行SED命令修改文件:
sed -i 's/^accessToken=.*/accessToken=abcd123/' /score-client/conf/applications.properties
额外说明
如果目标行前后有空格(比如 accessToken=),可以调整正则匹配包含空格的情况:
sed -i 's/^[[:space:]]*accessToken=.*/accessToken=abcd123/' /score-client/conf/applications.properties
[[:space:]]*会匹配行开头任意数量的空格或制表符。
内容的提问来源于stack exchange,提问作者Hashriama
相关产品推荐
相关产品推荐

