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

 更新时间:2021年03月30日 11:28:58   作者:templarzq  
这篇文章主要介绍了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"'

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

相关文章

  • Linux平台搭建docker环境并简单使用示例

    Linux平台搭建docker环境并简单使用示例

    这篇文章主要介绍了Linux平台搭建docker环境及简单使用方法,需要的朋友参考下吧
    2017-01-01
  • Docker中配置国内镜像设置

    Docker中配置国内镜像设置

    这篇文章主要介绍了Docker中配置国内镜像设置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • docker swarm如何在指定的node上运行指定的容器

    docker swarm如何在指定的node上运行指定的容器

    这篇文章主要介绍了docker swarm如何在指定的node上运行指定的容器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Docker Namespace容器隔离的实现

    Docker Namespace容器隔离的实现

    Namespace是Docker容器中的一种隔离机制,通过划分资源独立空间,确保容器之间互不干扰,本文主要介绍一下Docker Namespace容器隔离的实现,感兴趣的可以了解一下
    2024-11-11
  • Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移

    Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移

    这篇文章主要介绍了Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • WIN10系统和Docker内部容器IP互通方式

    WIN10系统和Docker内部容器IP互通方式

    这篇文章主要介绍了WIN10系统和Docker内部容器IP互通方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker安装mysql教程以及解决mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘问题

    Docker安装mysql教程以及解决mysqld: Can‘t read dir&nbs

    本文详细介绍了如何通过Docker来安装和配置MySQL数据库,包括拉取MySQL镜像、启动MySQL容器、配置MySQL、解决常见错误等步骤,提供了详尽的命令和参数说明,帮助用户顺利完成MySQL的安装和配置,文中还提到了如何处理MySQL容器启动时遇到的“无法读取目录”
    2024-10-10
  • Docker部署SpringBoot的两种方法

    Docker部署SpringBoot的两种方法

    Docker是一种流行的容器化技术,可以帮助开发人员更轻松地构建、部署和运行应用程序,Spring Boot是一种快速开发框架,可以帮助开发人员更快地构建应用程序,本文主要介绍了Docker部署SpringBoot的两种方法,感兴趣的可以了解一下
    2023-10-10
  • 使用docker安装hadoop的实现过程

    使用docker安装hadoop的实现过程

    这篇文章主要介绍了使用docker安装hadoop的详细过程,本文给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • win10安装docker及遇到的坑及解决

    win10安装docker及遇到的坑及解决

    这篇文章主要介绍了win10安装docker及遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论