Docker在官网下载Tomcat镜像里面没有ip addr等命令解决思路


我们在看狂神说Docker时,在官网pull了Tomcat的镜像,运行命令发现以下报错:

[root@centos7 ~]# docker run -d -P --name tomcat01 tomcat ip addr
abc9c799a9e06ab8d540f71510ed61c1f1162f9757a245c669bd2cc9f50cbb79
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "ip": executable file not found in $PATH: unknown.

这说明我们下载的Tomcat镜像是精简版的,利用这个镜像去打开一个容器的时候发现没有ip addr这个命令。所以到导致我们上述报错。

解决方案:

1.进入上面你利用Tomcat镜像运行的容器,假如下面c9478f4e83dd是你的容器id。

[root@centos7]# docker exec -it c9478f4e83dd /bin/bash
 
#发现没有ip a命令
root@c9478f4e83dd:/usr/local/tomcat# ip a 
bash: ip: command not found

2.执行下面两个命令

root@c9478f4e83dd:/usr/local/tomcat# apt update
root@c9478f4e83dd:/usr/local/tomcat# apt install -y iproute2

3.成功

root@c9478f4e83dd:/usr/local/tomcat# ip a 
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
62: eth0@if63:  mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever