| 1
2
3
4
5
6
7
8
 | # 进入容器
docker exec -it <container-id> /bin/bash
# 如果提示 bash 不存在,请将 /bin/bash 替换成 /bin/sh
docker exec -it <container-id> /bin/sh
# 查看 IP 地址
cat /etc/hosts
 | 
 
| 1
2
3
4
5
 | docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-id>
docker inspect <container-id>
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container-name or container-id>
 | 
 
命令中包含 <> 符号的内容都需要替换为对应的容器的 ID 或者名称,可通过docker ps -aq获取到容器 ID 或者名称。
可以考虑在 ~/.bashrc 中写一个 bash 函数:
| 1
2
3
 | function docker_ip() {
    docker inspect --format '{{ .NetworkSettings.IPAddress }}' $1
}
 | 
 
然后使用 source 刷新 bashrc 文件:
这下使用方法变成了:
| 1
 | docker_ip <container-ID>
 | 
 
| 1
2
3
4
5
 | # 如果使用 docker run 启动的容器:
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
# 如果是使用 docker compose 启动的:
docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
 |