本文主要介绍Docker如何自定义宿主文件,通过示例代码非常详细,有一定的参考价值。感兴趣的朋友可以参考一下。
目录
一、命令二。docker-compose.yml III。档案四。直接修改五、修改图像总结1。问:当我们真正进行开发时,数据库都部署在内网上,当我们的程序连接到数据库时,我们需要指定内网的地址。但有时我们需要迁移环境,所以我们的后端代码必须相应地修改。有没有好的方法可以防止我们修改代码?
答:可以说有,就是域名不是代码中规定的IP地址。我们只需要配置域名和IP地址就可以建立映射关系,所有项目都可以达到目的,不需要修改代码。
2.问:正式的环境通常是至少有三台服务器的集群形式。我们需要买三个域名吗?而且域名只能绑定公有IP。我们能把数据库开放给外部网络吗?为了安全,没有人会把数据库透露给外网。那我该怎么办呢?
答:那就是修改主机文件,自定义我们在主机中的数据库集群的域名和内网IP。在物理机linux上,直接修改/etc/host文件即可。
如果我们的服务以docker的形式部署在linux上。那么如何在docker中修改主机呢?
一.订单
一般来说,正式环境的图像是预先编译好的。如果不是docker-compose编译的图像,很难修改主机,只能在启动时通过参数配置。
docker run-add-host=www . scaler Wang . com:192 . 168 . 1 . 100-add-host=blog . scaler Wang . com:192 . 168 . 1 . 200-name Wang scaler-it my docker
使用命令参数指定- add-host
二。docker-compose.yml
它是在yml中指定的,编译后的docker容器会自动配置宿主文件。yaml的相关内容如下
服务:
服务-nginx:
图片:nginx
额外主机:
- www . scaler Wang . com:192 . 168 . 1 . 100
- blog . scaler Wang . com:192 . 168 . 1 . 200
第三,dockerfile
Dockerfile没有直接修改宿主文件的直接参数。如果要通过dockerfile修改宿主文件,需要提前准备好宿主文件,放在自己的代码根目录下。
维护者WangScaler@163.com
添加//wangscaler
运行cat /wangscaler/hosts /etc/hosts
这也是可能的。
四。直接修改
如果对你来说不太难,你可以试一试。当然,如果你的程序是后台启动的,你的环境不对,你就不能进去修改。
这种方法比较累(集群越多越累),也不适用(docker没有这个正确的主机无法运行,也有可能你设置的域名是别人的,所以你会向别人发起请求)。
第五,修改形象。
如果你的项目是以docker的形式部署的,那么经常会通过dockerfile和docker-compose编译成一个映像。这时候你可以把图像拉下来,修改主机再往上推,把原图盖住。
摘要
最好的使用方法是前两种,省时省力,可以一次性完成。如果你是dockerfile编译的图片,选择第一个;如果是用docker-compose编译的,直接在docker-compose.yml修改,一劳永逸。第三个可以接受,但是你要忽略后两个,不要试图去做。
关于docker的更多使用方法,比如创建容器时指定IP地址,以及上面提到的dockerfile和docker-compose创建容器的方法,请参考上一篇文章Docker的构造和基本命令。
关于Docker如何定制主机文件的这篇文章就到这里了。有关Docker定制主机文件的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!