docker容器内缺少命令如何解决
这篇文章主要介绍“docker容器内缺少命令如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“docker容器内缺少命令如何解决”文章能帮助大家解决问题。
背景
而使用 docker exec 进入其中后,但该容器没有安装 sudo 或 netstat 或者 ping 等命令。
解决方案
在宿主机使用
nsenter
进入容器对应的命名空间下执行对应的命令即可安装方式如下
系统 | 命令 |
---|---|
Ubuntu/Debian: | apt-get install -y util-linux |
Centos/Fedora | yum install -y util-linux |
Apline | apk 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 相关内容
这些是最新的
热门排行
- THINKPHP5+GatewayWorker+Workerman 开发在线客服系统
- 在手机浏览器网页中点击链接跳转到微信界面的方法
- 尊云网站目录系统 ThinkPHP5网站分类目录程序 v2.2.221011
- CentOS 7安装shadowsock(一键安装脚本)
- AdminTemplate 基于LayUI 2.4.5实现的网站后台管理模板
- 用NW.js(node-webkit)开发多平台的桌面客户端
- PHP生成随机昵称/用户名
- THINKPHP5网站分类目录程序 尊云网站目录系统
- 织梦(DEDECMS)微信支付接口 微信插件
- 基于LayUI开发的 网站后台管理模板 BeginnerAdmin
- 响应式后台网站模板 - AMA.ADMIN
- layuiAdmin后台管理模板 Iframe版
- LayUI 1.0.9 升级 至 LayUI 2.1.4 方法
- 简洁清爽的会员中心模板
- jQuery幸运大转盘抽奖活动代码