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)
|