如何获取 docker 容器(container)的 ip 地址(转)

1. 进入容器内部后

cat /etc/hosts

  

会显示自己以及(– link)软连接的容器IP

2.使用命令

docker inspect --format ‘{{ .NetworkSettings.IPAddress }}‘ <container-ID>
或
docker inspect <container id>
或
docker inspect -f ‘{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}‘ container_name_or_id

  

3.可以考虑在 ~/.bashrc 中写一个 bash 函数:

function docker_ip() {
    sudo docker inspect --format ‘{{ .NetworkSettings.IPAddress }}‘ $1
}

  

source ~/.bashrc 然后:

$ docker_ip <container-ID>

172.17.0.6

4.要获取所有容器名称及其IP地址只需一个命令。

docker inspect -f ‘{{.Name}} - {{.NetworkSettings.IPAddress }}‘ $(docker ps -aq)

  

如果使用docker-compose命令将是:

docker inspect -f ‘{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}‘ $(docker ps -aq)

  

5.显示所有容器IP地址:

docker inspect --format=‘{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}‘ $(docker ps -aq)

  

原文地址:https://www.cnblogs.com/sandea/p/9749972.html

时间: 2024-07-29 11:12:55

如何获取 docker 容器(container)的 ip 地址(转)的相关文章

docker容器设置静态IP与宿主机同一网段通信

很早以前弄过docker容器设置静态ip地址以及容器与容器之间通信,用的不多所以没有记录下来. 今天在网上看到个文章关于设置静态ip地址的.就自己实战下.对了还有个pipework也可以设置.. 操作系统环境 [email protected]:~# cat /etc/issue Ubuntu 14.04.3 LTS \n \l 宿主机(系统采用ubuntu-14.04.1-server-amd64)的网络采用桥接模式(默认是DHCP模式,还有一种模式就是静态IP),网桥的网段与物理网段相同.目

多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.javapeixun.com.cn / 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.168.1.

获取http请求的真实IP地址

/** * 获取http请求的真实IP地址 * @param request * @return */ // cjianquan 2016/8/2 public static String getIPAddr(HttpServletRequest request){ if (request == null) return null; String ip = request.getHeader("X-Forwarded-For"); if (ip == null || ip.length

获取当前登录用户的IP地址代码

1 *&---------------------------------------------------------------------* 2 *& Report YDEMO_RICK 3 *& 4 *&---------------------------------------------------------------------* 5 *& 6 *& 7 *&-----------------------------------

Servlet中获取客服端真实Ip地址

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP. 在实习公司看到的一个方法: [java] view plaincopyprint? /** * 获取Ip地址 * 

js获取本机的网络IP地址

JavaScript是一门脚本语言,是不能操作文件,读取本地信息的,所以想要获取IP,还需要借助后端技术.方法如下: //获取本机的网络ip地址 function jsonpCallback(res) { var ip = res.Ip; // ip地址 var aa = res.Isp.split("市"); var isp = aa[0]; // ip省份 alert(ip); } function getIntnetIP() { var JSONP=document.create

Java获取请求客户端的真实IP地址

Java获取请求客户端的真实IP地址 Java,获取客户端的IP地址的方法: request.getRemoteAddr() 这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了; 如果使用了反向代理软件,将http://192.168.1.110:2046 的URL反向代理为 http://www.javapeixun.com.cn的URL时, 用 request.getRemoteAddr() 方法获取的IP地址是:127.0

java 获取的是本地的IP地址

1 public static void main(String[] args) { 2 try { 3 InetAddress address = InetAddress.getLocalHost();//获取的是本地的IP地址 //PC-20140317PXKX/192.168.0.121 4 String hostAddress = address.getHostAddress());//192.168.0.121 5 InetAddress address1 = InetAddress.

docker容器分配静态IP

最近因为工作要求需要用学习使用docker,最后卡在了网络配置这一块.默认情况下启动容器的时候,docker容器使用的是bridge策略比如: docker run -ti ubuntu:latest /bin/bash 等效于 docker run -ti --net=bridge ubuntu:latest /bin/bash bridge策略下,docker容器自动为我们分配了一个IP地址,并连接到docker0的网桥上.但这里有一个问题,这个IP地址并不是静态分配的,这对我们的对容器的实