docker容器域名映射

网友投稿 424 2022-11-19

docker容器域名映射

为解决每次区块链连接地址变动时,都必须修改程序内或者程序内附带的连接IP地址

故实现本地hosts文件IP与域名的映射

实现方式:

场景一:

服务为传统方式启动

解决方法:在服务器本地的/etc/hosts文件内添加IP和域名的映射

vim /etc/hostsIP 域名

场景二:

服务为容器方式启动

目前我司在使用docker run创建Docker容器时,共有两种方式指定容器的网络模式,分别是:

host模式,使用–net=host指定。bridge模式,使用–net=bridge指定。(即 -p 宿主机映射端口:容器暴露端口)

针对这两种不同的容器网络模式,容器需要有不同的方式进行本地域名映射

1、 host模式

使用参数

--network=host

容器每次启动时,会从宿主机中获取一份hosts文件,容器内修改hosts文件,不会影响到宿主机文件配置。宿主机内修改hosts文件后,容器重启即会重新获取一份hosts文件,覆盖原来的配置

举个例子:

宿主机中添加本地域名映射:10.20.29.66 blockchain.com容器启动方式:docker run -itd --network=host --name nginx nginx:1.14

2、bridge模式 (即-p 宿主机映射端口:容器暴露端口)

使用参数

==--add-host 域名:IP==

启动容器时,可配置以上参数,添加容器内域名映射,此映射不影响宿主机hosts文件配置

若不需要重新生成容器,仅需要改变参数,可在容器内vim修改hosts文件

举个例子:

docker run -itd --name nginx -p 8080:80 --add-host blockchain.com:10.20.29.66 nginx:1.14

场景三:

除以上传统方式及docker方式启动服务外,我司大部分环境需使用k8s启动。

若需要连接区块链的服务器为k8s启动,则可在此服务的Deployment文件中添加如下参数:

spec: hostAliases: - ip: "10.20.29.66" hostnames: - "blockchain.com"

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:NVIDIA nvCOMP中的两个统一接口和使用
下一篇:采用USB接口解决分组无线网传输速度的受限问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~