docker容器内缺少命令的简单解决办法

 更新时间:2023年03月30日 09:13:04   作者:水淹萌龙  
有时候在docker容器里面不仅没有你期望的那些常用的命令,甚至没有yum命令让你去安装那些常用的命令,下面这篇文章主要给大家介绍了关于docker容器内缺少命令的简单解决办法,需要的朋友可以参考下

背景

而使用 docker exec 进入其中后,但该容器没有安装 sudo 或 netstat 或者 ping 等命令。

解决方案

在宿主机使用 nsenter 进入容器对应的命名空间下执行对应的命令即可

安装方式如下

系统命令
Ubuntu/Debian:apt-get install -y util-linux
Centos/Fedorayum install -y util-linux
Aplineapk add util-linux --no-cache

使用方式如下

nsenter 的 c 使用语法为,nsenter -t pid -n <commond>,-t 接 进程 ID 号,-n 表示进入名称空间内, 为执行的命令。
举例:有一个容器的 PID 为 30749,进入该容器名称空间内执行 ifconfig ,如下列所示

nsenter -t 30749-n ifconfig

容器的PID获取方式, 例如查找容器 paas-web

先获取容器的ID

[root@portal1 ~]# docker ps | grep paas-web
d3c24a612b88        4e0043f40393                                           "/docker-entrypoint.…"   2 weeks ago         Up 2 weeks                                   k8s_paas-web_paas-web-c54d74d44-hr697_kube-system_74070b4e-3405-45aa-8bb1-469e37b6b313_0
097146cbeb00        ********:40443/kubernetes/pause-amd64:3.1    "/pause"                 2 weeks ago         Up 2 weeks                                   k8s_POD_paas-web-c54d74d44-hr697_kube-system_74070b4e-3405-45aa-8bb1-469e37b6b313_0

d3c24a612b88 是我的目标容器,然后执行

[root@portal1 ~]# docker inspect --format "{{ .State.Pid }}"  d3c24a612b88
44463
[root@portal1 ~]#

其中 44463 就是我要的容器PID

总结

到此这篇关于docker容器内缺少命令的简单解决办法的文章就介绍到这了,更多相关docker容器内缺少命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker部署mysql后无法连接的解决方式

    docker部署mysql后无法连接的解决方式

    最近在在docker中安装了mysql后,去连接的时候出现错误,下面这篇文章主要给大家介绍了关于docker部署mysql后无法连接的解决方式,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Docker安装ollama过程解读

    Docker安装ollama过程解读

    Ollama是一个开源的LLM服务工具,用于简化在本地运行大语言模型,本文介绍了如何使用Docker安装Ollama并运行大语言模型,包括拉取镜像、运行容器和加载模型,最后,还介绍了如何安装OpenWebUI进行Web界面交互
    2025-02-02
  • 给debian的docker容器添加crontab定时任务

    给debian的docker容器添加crontab定时任务

    这篇文章主要介绍了给debian的docker容器添加crontab定时任务的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 深入理解docker的四种网络方式

    深入理解docker的四种网络方式

    本篇文章主要介绍了深入理解docker的四种网络方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Docker compose搭建ELK服务基本使用

    Docker compose搭建ELK服务基本使用

    这篇文章主要为大家介绍了Docker compose搭建ELK服务基本使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 基于docker 部署canvas-lms的详细步骤

    基于docker 部署canvas-lms的详细步骤

    这篇文章主要介绍了基于docker 部署 canvas-lms,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Docker安装FTP服务器的方法步骤

    Docker安装FTP服务器的方法步骤

    FTP是一种传输协议,本文主要介绍了Docker安装FTP服务器的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • Docker搭建RabbitMQ集群的方法步骤

    Docker搭建RabbitMQ集群的方法步骤

    本文主要介绍了Docker搭建RabbitMQ集群的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Dockerfile中的copy命令使用

    Dockerfile中的copy命令使用

    在使用Dockerfile中的copy命令时,如果使用相对路径并且文件不在当前目录下,会导致构建失败,需要使用绝对路径或者将文件移动到Dockerfile所在的目录下
    2025-02-02
  • Docker部署多种容器的详细过程

    Docker部署多种容器的详细过程

    本文介绍了在Windows和Linux系统上使用Docker部署MySQL和RabbitMQ容器的方法,对于MySQL使用docker run命令,配置了端口映射、权限、时区和数据持久化等选项,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-01-01

最新评论