解决容器启动,内部无法使用`ip addr`和`ping`命令

igxiaoshan Lv5
1
2
3
4
5
6
7
8
9
10
11
[root@CentOS7_001 ~]# 
[root@CentOS7_001 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c48b8c6bc4d2 wordpress "docker-entrypoint.s…" 12 minutes ago Up 12 minutes 0.0.0.0:8089->80/tcp, :::8089->80/tcp blog
580cf83c51ab mysql:5.7 "docker-entrypoint.s…" 36 minutes ago Up 36 minutes 3306/tcp, 33060/tcp db
6d7685e0c6bc zydtag:0.0.1 "/bin/sh -c 'java ${…" 2 weeks ago Up 10 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp zydtag
[root@CentOS7_001 ~]#
[root@CentOS7_001 ~]#
[root@CentOS7_001 ~]# docker exec -it db ping blog
OCI runtime exec failed: exec failed: unable to start container process: exec: "ping": executable file not found in $PATH: unknown
[root@CentOS7_001 ~]#

报错原因

容器简易版,没有相应的命令

解决方案

安装相应的命令

  • 进入容器中

    1
    [root@CentOS7_001 ~]# docker exec -it db /bin/bash
  • 安装/更新配置

    1
    2
    3
    ### 更新 apt-get: apt-get update
    ### 安装 iproute2:apt install -y iproute2
    ### 安装 ping:apt-get install -y iputils-ping
1
###  详细指令自己实操....
1
2
3
4
5
6
7
8
9
10
11
12
### 安装后解决
[root@CentOS7_001 zyd-tag]# docker exec -it blog ping db
PING mysql (172.17.0.2) 56(84) bytes of data.
64 bytes from mysql (172.17.0.2): icmp_seq=1 ttl=64 time=0.064 ms
64 bytes from mysql (172.17.0.2): icmp_seq=2 ttl=64 time=0.052 ms
64 bytes from mysql (172.17.0.2): icmp_seq=3 ttl=64 time=0.052 ms
64 bytes from mysql (172.17.0.2): icmp_seq=4 ttl=64 time=0.065 ms
--- mysql ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 0.052/0.058/0.065/0.006 ms
[root@CentOS7_001 zyd-tag]#

此页目录
解决容器启动,内部无法使用`ip addr`和`ping`命令