服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - docker 实现容器与宿主机无缝调用shell命令

docker 实现容器与宿主机无缝调用shell命令

2021-06-26 17:43templarzq 服务器知识

这篇文章主要介绍了docker 实现容器与宿主机无缝调用shell命令的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随想过来看看吧

如下所示:

?
1
nsenter -t 1 -m -u -n -i sh -c "echo hello world! "

docker容器加上privilege权限, 设置pid: "host"

补充:在宿主机执行docker容器中的shell脚本或命令

常见命令形式:

?
1
2
docker exec -it master /bin/bash -c 'echo $PATH'
docker exec -it master /bin/bash -c 'cd /home/bigdata/shell && ./test.sh'

如果shell脚本中涉及到环境变量,或者提示JAVA_HOME is not set,可以在脚本中加上以下命令

?
1
export JAVA_HOME=jdk路径

补充:在docker宿主机上运行docker中container中的执行的命令

脚本如下:

?
1
docker exec -u root xxx(container名称) bash -c '命令1 && 命令2'

实际例子如下:

?
1
docker exec -u root mycentos bash -c 'mkdir /home/test.txt && chmod 777 /home/test.txt && runuser - oracle -c "rm -rf /home/test.txt"'

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/templarzq/article/details/90521581

延伸 · 阅读

精彩推荐