当前位置:服务器 > > 正文

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

时间:2021-10-16 00:54:56类别:服务器

docker容器连接宿主机

docker 实现容器与宿主机无缝调用shell命令如下所示:
  • nsenter -t 1 -m -u -n -i sh -c "echo hello world! "
    
  • docker容器加上privilege权限, 设置pid: "host"

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

    常见命令形式:
  • 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,可以在脚本中加上以下命令

  • export JAVA_HOME=jdk路径
    
  • 补充:在docker宿主机上运行docker中container中的执行的命令

    脚本如下:
  • docker exec -u root xxx(container名称) bash -c '命令1 && 命令2'
    
  • 实际例子如下:

  • docker exec -u root mycentos bash -c 'mkdir /home/test.txt && chmod 777 /home/test.txt && runuser - oracle -c "rm -rf /home/test.txt"'
    
  • 以上为个人经验,希望能给大家一个参考,也希望大家多多支持开心学习网。如有错误或未考虑完全的地方,望不吝赐教。

    上一篇下一篇

    猜您喜欢

    热门推荐