docker exec -it tomcat01 ip addr报错

最近在学习狂神的docker课程,其中在学习docker网络的时候,按照步骤启动tomcat镜像,然后查看容器的ip addr,但是报以下错误:

OCI runtime exec failed: exec failed: container_linux.go:380: 
starting container process caused: exec: "ip": 
executable file not found in $PATH: unknown

这是因为我们下载的tomcat镜像是:精简版的镜像,通过错误日志可以看到,里面没有ip这个指令,解决方法也很简单:

首先进入容器:(记得把容器id号写完整)

docker exec -it {你自己的容器id号} /bin/bash

进入容器后,执行下面命令:

apt update

接着再安装ip命令所在的包,执行下面命令:

apt install -y iproute2

最后退出容器,并再次执行即可:

exit
docker exec -it tomcat01 ip addr

03-13
### 查看和配置Linux系统的IP地址 #### 使用 `ip addr` 命令查看 IP 地址 在 Linux 系统中,`ip addr` 是一个强大的命令,用于管理和查看网络接口的地址信息。该命令属于 iproute2 软件包的一部分,提供了比传统 `ifconfig` 更多的功能和灵活性[^1]。 要查看当前所有的网络接口及其对应的 IP 地址,可以执行如下命令: ```bash ip addr show ``` 或者简化版本: ```bash ip a ``` 这两种方式都可以展示所有活动网络设备的状态以及分配给它们的 IPv4 和/或 IPv6 地址等详情[^2]。 如果遇到某些情况下无法通过上述指令看到预期的结果,可能是由于特定网卡未被激活或是其他原因造成的。对于这种情况,在 CentOS 7 中可以通过编辑 `/etc/sysconfig/network-scripts/ifcfg-<interface>` 文件来解决问题。例如,假设目标接口名为 ens33,则应向此文件追加一行设置其开机自启动属性为开启状态: ```bash echo ONBOOT=yes >> /etc/sysconfig/network-scripts/ifcfg-ens33 ``` 之后重启计算机使更改生效即可正常显示 IP 地址信息[^5]。 另外一种可能性是系统内的 NetworkManager 守护进程干扰到了正常的网络配置流程;此时可以选择停止并禁用这个服务来看看是否有改善效果: ```bash systemctl stop NetworkManager.service systemctl disable NetworkManager.service ``` #### 配置静态 IP 地址 当需要手动指定某个网络适配器所使用的固定 IP 地址时,同样可以在相应的 ifcfg-* 接口配置文件里修改参数完成操作。比如想要把 eth0 的 IP 设定成 192.168.1.100 ,子网掩码设为 255.255.255.0 并指明默认网关的话,那么就需要按照下面的方式调整配置项: ```plaintext DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ``` 保存好这些改动后记得再次重起机器让新的设定能够立即应用上去[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值