java.security.cert.CertificateException: No subject alternative names present] 因为某些原因,访问cas以及子系统希望通过ip...来访问并且要使用https协议 网上很多文章说要使用CAS单点登录必须要配置域名, cas server是不能通过ip访问的,这实际上是错误的,这和cas无关,目前可以通过java 1.7来生成证书,需要...1024 -keypass 123456 -storepass 123456 -dname "CN=10.1.4.41,OU=csoa,O=csoa,L=FZ,ST=FZ,C=CN" -ext san=ip...In some cases, the URI is specified as an IP address rather than a hostname....in the URI. jdk1.7,查阅keytool参数文档,keytool可以使用-ext san=dns:www.example.com 或者 -ext san=ip:10.0.0.1 来包括
今天来谈谈为什么我们的网址,通常是使用域名,而不是 IP 地址。 首先我们了解一下 DNS 是什么。 DNS DNS,全称为 Domain Name System,即域名系统。...DNS 是一个分布式数据库,记录了域名和对应 IP 的相互映射,一个经常被用到的功能就是通过域名拿到对应的 IP。...为此,客户端会去找到那个服务器,但没有一个叫 reactjs.org 的服务器,服务器是通过 IP 定位的,我们需要的是 IP。...其实就是:域名 --> IP --> 真实服务器。 为什么要用域名而不用 IP? 首先,域名方便记忆。 IP 没有意义,比如 39.156.66.10 就像是一个手机号,难以记忆。...然后,通过域名的这一层抽象,我们可以随意地更换其下的 IP 地址。 如果我们的网站用的是一个固定 IP,当我们想更换服务器,同时也代表 IP 会被替换,那我们就需要一个个通知用户,这是不能接受的。
前言:曾经听别人说生成证书时能够用IP地址。今天用样例证实了下用IP地址是不行的。 情景一: 生成证书时指定的名称为IP地址 样例是做单点登录时的样例。web.xml中配置例如以下: serverName /* 如上配置中指定使用...可能原因一:tomcat使用的jdk和证书导入的jdk不是同一个 可能原因二:导入完毕后须要重新启动(静态导入),重新启动一次不行建议重新启动第二次 可能原因三:jdk中的证书导入错误 结论 所以得出结论...,生成证书时须要指定域名而非用IP地址。
问题背景 通过 gitlab 容器创建了一个项目,想 clone 到本地,结果发现项目的 IP 地址是一串数字 ? 问题排查 明明创建项目的时候,IP 地址还是正常的鸭! ?...解决方案 先说下我创建 gitlab 容器的语句 是进行了目录映射的 docker run -d -p 443:443 -p 9001:80 -p 8022:22 \ --name gitlab \ -...将这个 external_url 改成主机的 IP,不需要加端口哦 保存! 重启 gitlab 容器 docker restart gitlab 修改成功 ?...502,可以参考这篇文章解决 https://www.cnblogs.com/poloyy/p/13883500.html 注意事项二 如果没有映射目录,则需要进去容器内部去改 gitlab.rb 了 docker
另外,xdebug不是伴随着php的,要使用它,需要我们自行安装,可费劲er了。当然我们可以直接到docker hub上找现成的环境。 安装完xdebug你以为就结束了吗,没有!...我们还需要对xdeubg进行配置,网上大多数的教程都是说在php.ini里配置,但是我使用的这个docker环境,xdebug是有一个单独的配置文件的 我就直接在这里面配置了(其实docker环境已经配置的差不多了...= 1 而自动回连的ip地址是来自下面这几处: xdebug.remote_addr_header X-Forwarded-For Remote-Addr 我们知道xff头是可以控制的,所以就算配置了其他的两个...,也没有关系,照样可以连接到我指定的ip地址上,这不就出大问题了吗 利用条件 xdebug.remote_connect_back = 1 //开启回连 并且此选项开启时,xdebug会忽略xdebug.remote_host...直接把客户端ip当作回连ip,也就是谁访问它,谁就是回连ip xdebug.remote_enable = 1 //开启xdebug xdebug.remote_log = /tmp/
我们安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。...Docker容器连接到一个虚拟网桥docker0上 overlay:顾名思义:覆盖,但它又不是覆盖,它的作用就是在容器原有的网络基础之上,再添加一块网卡,并为其分配一个IP地址,可以将所有的docker...--ip 172.20.18.6 busybox [root@docker03 ~]# docker network connect my_net1 test2 #将test2连接到...#而如果没有将box2连接到网络my_net1,是绝对不会ping通 PING test3 (172.18.0.2): 56 data bytes 64 bytes from 172.18.0.2: seq...~]# docker network connect my_net2 test4 # 将test4连接到my_net2网络 #同box2和box3的ping测试,若没有将box4连接到box5所在的网络
由于你将从容器(拥有IP地址d,而不是localhost)连接到此数据库,因此您需要编辑PostgreSQL配置文件以允许来自远程地址的连接。...编辑app.js以允许应用程序连接到database主机而不是localhost: # app/ app.js const client...database在运行时声明主机,而不是硬编码应用程序中的IP地址,有助于保持容器可重用。...和之前一样,数据库容器将使用官方PostgreSQL镜像,而app容器将从Dockerfile构建。该links条目与前面使用--link的run命令中的选项具有相同的功能。...Docker Compose还允许您设置环境值,因此您可以简化应用程序以使用这些值,而不是将值硬编码。
:15673/#/ http://localhost:15674/#/ 如果成功登入,则代表组件安装成功,但是这时候还不是集群模式,我们需要手动加入到集群 从节点加入到主节点,实现集群模式 # salve1...整合HAProxy 我这里还是通过docker安装HAProxy,因为使用dokcer安装软件是真的香。...timeout client 60s #服务器端链接超时时间为 15秒 则HA 发起重连机制 timeout server 15s #front-end IP for consumers...timeout client 60s #服务器端链接超时时间为 15秒 则HA 发起重连机制 timeout server 15s #front-end IP for consumers...HAProxy了,自行测试使用吧,代码已经上传到代码库咯 总结 其实安装rabbitmq是很麻烦的,需要解决各种环境问题;但是好在我这里使用了docker,可以很顺畅的完成安装;然后把主要的时间放在调试集群上面
场景:假设我们有一个 web 应用,需要显示总共连接的次数,同时我们使用另一个 redis 服务去记录这个数值,显然 web 是需要连接到 redis 上的,而在 docker 容器中,每个容器都默认有自己独立的虚拟网络...我们先将 redis 容器的端口暴露到本地宿主机,然后在 web 中指定本地宿主机具体的 IP 地址,这样也可以实现连接,但是需要注意的是,在 web 中不能直接使用 localhost ,因为前面已经提到了...,每个容器都有自己独立的虚拟网络,使用 localhost 将会指向的是这个容器内部,而不是宿主机。...这里与前一种方式不同的是,我们直接通过 --net host 指定容器直接使用宿主机网络,这样在 web 中就可以直接通过 localhost 连接到 redis 了,不用知道宿主机具体的 IP 地址,...但是这种方式的问题在于,对于 MacOS 系统无法使用,因为在 MacOS 上 Docker 仍然是跑在一层虚拟机中的,这种方式目前还无法穿透这层虚拟机直接将 localhost 映射到宿主机本地,同时
安装完docker,系统会自动添加一个供docker使用的网桥docker0,我们创建一个新的容器时, 容器通过DHCP获取一个与docker0同网段的IP地址,并默认连接到docker0网桥,以此实现容器与宿主机的网络互通...在容器运行时,每个容器都会分配一个特定的虚拟机口并桥接到docker0。每个容器都会配置同docker0 ip相同网段的专用ip 地址,docker0的IP地址被用于所有容器的默认网关。...Docker 会尝试寻找没有被主机使用的ip段,尽管它适用于大多数情况下,但是它不是万能的,有时候我们还是需要对ip进一步规划。...2)也可以选择保留使用默认docker0的配置,这样单主机容器之间的通信可以通过docker0; 跨主机不同容器之间通过pipework将容器的网卡桥接到br0上,这样跨主机容器之间就可以通信了...//删除默认的原路由,其实就是eth0上使用的原路由192.168.1.1(这步小心,注意删除后要保证机器能远程连接上,最好是通过外网ip远程连的。
命令可能会展示结果,但会给你本地主机的IP地址信息,而不是Docker容器网络。...这是因为Docker使用虚拟机中运行的网卡,而并非在宿主机的网卡。...hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00...my-multi-host-network --name my-web nginx 716thylsndqma81j6kkkb5aus 只有swarm服务可以连接到覆盖网络,而不是独立的容器。...非swarm模式下的覆盖网络 如果您不是在swarm模式下使用Docker Engine,那么 overlay网络需要有效的key-value存储。
://localhost:8500 先说一下Docker运行参数。...这确保Registrator拥有实际主机的主机名和IP,也使Registrator更容易连接到Consul。我们也必须挂载Docker socket。...如果设置了-internal选项,Registrator会注册docker内部IP和端口,而不是映射到主机的端口。 默认情况下,注册服务时,Registrator会尝试解析当前主机名来设置服务地址。...如果你想无限制的重连尝试,可以使用-retry-attempts -1。 -resync选项控制Registrator查询Docker中所有容器并且注册所有服务的频率。...大部分情况下,它是一个实现细节,通常用户使用服务名而不是ID。
安装完docker,系统会自动添加一个供docker使用的网桥docker0,我们创建一个新的容器时, 容器通过DHCP获取一个与docker0同网段的IP地址,并默认连接到docker0网桥,以此实现容器与宿主机的网络互通...在容器运行时,每个容器都会分配一个特定的虚拟机口并桥接到docker0。每个容器都会配置同docker0 ip相同网段的专用ip 地址,docker0的IP地址被用于所有容器的默认网关。...会尝试寻找没有被主机使用的ip段,尽管它适用于大多数情况下,但是它不是万能的,有时候我们还是需要对ip进一步规划。...192.168.1.1(这步小心,注意删除后要保证机器能远程连接上,最好是通过外网ip远程连的。...,新建容器并使用pipework添加虚拟网卡桥接到br0,如此创建的容器间就可以相互通信了。
接下来,我们使用上一节构建的 web:lastest 镜像创建一个容器 hellodocker001,并将本机的端口 10001 映射到容器中的 80 端口上,在浏览器中可以通过 localhost:10001...其使用格式为 -p ip:hostPort:containerPort。...::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02:...::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02:...collisions:0 txqueuelen:0 RX bytes:656 (656.0 B) TX bytes:0 (0.0 B) # eth1连接到
连接到用户自定义网络的容器的DNS lookup与连接到默认 bridge 网络的容器的工作机制不同。...从Docker 1.10开始,Docker daemon实现了一个内嵌的DNS服务器,它为任何使用有效 name 、 net-alias 或使用 link 别名所创建的容器提供内置的服务发现能力。...Docker如何管理容器内DNS配置的具体细节可随着Docker版本的改变而改变。...内嵌DNS服务器维护特定用户自定义网络中所有容器别名及IP之间的映射。 通过在 docker network connect 命令中使用 --alias 选项,容器可在不同的网络中具有不同的别名。...在执行此操作时,damon会从宿主机的原始文件中过滤出所有localhost IP地址 nameserver 条目。 过滤是必要的,因为宿主机上的所有localhost地址都不可从容器的网络中访问。
使用docker network的好处是:在同一个网络上的容器之间可以相互通信,而无需使用expose端口特性 本文使用docker-swarm进行overlay网络的分析。...在node1上创建一个连接到my-overlay的容器 # docker run -itd --network=my-overlay --name=CT1 centos /bin/sh 在node2上创建连接到...由于CT2连接到名为my-overlay的网络,在/var/run/docker/netns下查看该网络对应的namespace(1-9gtpq8ds3g),可以看到eth0对应该my-overlay的...veth2,且它们连接到bridge br0 # docker network ls NETWORK ID NAME DRIVER...方式直接连接在默认的docker_gwbridge上,而overlay方式通过在my-overlay上的br0进行转发。
0 overruns 0 carrier 0 collisions 0 container模式: Container模式指定新创建的容器和已存在的容器共享一个Network Namespace,而不是和宿主机共享...默认的网络模式,不写--net参数,默认就是bridge模式,该模式会为每个容器分配network namespace、设置ip、路由等配置,默认会将docker容器连接到一个虚拟网桥docker0上。...3、从docker0子网中分配一个ip给容器使用,并设置docker0的ip地址为容器的默认网关。...使用pipework配置容器与宿主机同一网段: docker默认提供了一个隔离的内网环境,启动时会建立一个docker0的虚拟网卡,每个容器都是连接到docker0网卡上的。...而docker0的ip段为172.17.0.0,若想让容器与宿主机同一网段的其他机器访问,所以为了让容器与宿主机同一个网段,我们需要建立自己的桥接网络。
docker 但是最近使用DaoCloud的docker加速器体验非常差,加速效果不是很明显。...container 模式 这个模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace,而不是和宿主机共享。...使用特定范围的IP Docker 会尝试寻找没有被主机使用的 ip 段,尽管它适用于大多数情况下,但是它不是万能的,有时候我们还是需要对ip进一步规划。...也可以保留使用默认的配置,这样单主机容器之间的通信可以通过 docker0,而跨主机不同容器之间通过pipework新建docker容器的网卡桥接到br0,这样跨主机容器之间就可以通信了。...exec 方式会被解析为一个 JSON 数组,所以必须使用双引号而不是单引号。
Docker容器网络 1、Docker容器网络 Docker在安装后自动提供3种网络,可以使用``docker network ls`命令查看 [root@localhost ~]# docker network...使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关...从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。...Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法通过直接Container-IP访问到容器。...round-trip min/avg/max = 0.096/0.110/0.125 ms 2.2 container模式 这个模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace,而不是和宿主机共享
你可以使用 docker container ls 命令列出正在运行的容器。 要将终端连接到分离的容器根进程,请使用 docker container attach令。...--rm选项告诉docker run命令在容器自动退出时将其删除: docker container run --rm nginx 在容器退出后,Nginx映像可能不是清理容器文件系统的最佳示例。...要发布端口,请使用-p选项,如下所示: -p host_ip:host_port:container_port/protocol 如果未指定host_ip,则默认为0.0.0.0。...你也可以使用curl http://localhost:8080 入门小站 交互式运行容器 处理bash之类的交互过程时,请使用-i和-t选项启动容器。...在此示例中,我们提供了命令(/bin/bash)作为执行的docker run命令的参数,而不是Dockerfile中指定的命令。
领取专属 10元无门槛券
手把手带您无忧上云