当前我们开发的服务基本都是云原生的服务,都跑在容器中,在开发过程中,想更换二进制文件调测就相当麻烦了,今天写了一个脚本,供大家参考
#!/bin/bash
set -ex
appName="testApp"
appPath="home/${appName}"
containerID=$(docker ps | grep '${appName}' | grep -v pause |awk '{ print $1 }')
md5sum ${appPath}
docker cp ${appPath} $containerID:/home/service/
docker exec -it -u root $containerID /bin/bash -c 'cd /home/service/ && chown -R service:servicegroup {appName} && chmod a+x {appName} && setcap CAP_NET_BIND_SERVICE=+eip {appName} && md5sum {appName}'
echo "refresh success"
docker restart ${containerID}
基本逻辑就是使用docker cp命令把host机器上的文件拷贝到容器中,然后给他更换权限。最后重启容器即可。
该文章介绍了一个bash脚本,用于简化在云原生环境中对容器内服务的二进制文件进行替换和调试的过程。脚本通过docker命令将主机上的新文件复制到容器,调整文件权限,并重启容器以应用更改。

4535

被折叠的 条评论
为什么被折叠?



