【Docker】配置容器的hosts来实现域名指定服务

2023-10-26

需求

在使用docker-chrome进行selenium自动化测试的时候,希望客户端能够通过某种形式,让我们的case跑到测试环境取,这时候有两个方式:

1. 给浏览器使用代理(这里不讲,前面有个文章已经说过了)
2. 修改执行的selenium客户端的hosts配置

介绍下修改docker容器的hosts方式

1. 容器内容修改

docker exec -it chrome bash直接进入容器中,然后vim修改/etc/hosts,可生效使用。需要注意的是docker rm后docker run起来的容器,会没有之前修改的内容,所这种方式不是长久之计;

2. 修改dockerfile来修改images的hosts

在设计dockerfile制作镜像的时候,可以通过 RUN命令echo '192.168.1.9 test >> /etc/hosts'直接修改。在dockerfile前需要user root,需要你是root用户,/etc/hosts文件对于普通用户是没有权限的。(这里需要注意的是一般容器里没有vi/vim的工具,第一步里使用的vim可以在制作image时安装)

3. 使用运行时命令docker run --add-host=

官网docker文档中有提到docker run运行容器的时候,可以通过参数–add-host来添加域名和IP信息到容器的/etc/hosts文件中

docker run --add-host=test.docker.com:192.168.1.9   --name se-chrome  se/chrome:3

如果想要添加多个,添加一个--add-host

docker run 
--add-host=test.docker.com:192.168.1.9   
--add-host=test2.docker.com:192.168.1.10
--name se-chrome  se/chrome:3

4. 可使用编排工具docker-compose添加

官网文档中有介绍在docker-compose.yml文件中,通过配置参数extra_hosts来实现:

extra_hosts:
	- "test.docker.com:192.168.1.9"
	- "add-host=test2.docker.com:192.168.1.10"

这里需要注意格式,不然会报错

5. 可以使用swarm集群中的create --host来添加

--host list     Set one or more custom host-to-IP mappings (host:ip)
docker service create --name my-service --host foo:127.0.0.1 nginx:alpine

注意:–host可以是一个,也可以时一个list,多一个的时候就多一个–host

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Docker】配置容器的hosts来实现域名指定服务 的相关文章

随机推荐

  • 使用ETL工具Kettle实现,把一个数据库中的多张表的数据同步到另外一个数据库中

    需求 使用ETL工具Kettle实现 把一个数据库中的多张表的数据 不少于3张表 同步到另外一个数据库中 1 使用Kettle工具连接MySQL数据库 连接第一个数据库db03 出现圈3说明连接成功 依次点击 转换 gt 主对象树 gt D
  • csgo服务器找不到,csgo社区服务器进不去解决方法

    近期有玩家在玩csgo的时候遇到了一些小问题 他们在询问 csgo社区服务器进不去怎么办 今天小编就带来csgo社区服务器进不去解决方法 希望对大家能有所帮助 csgo社区服务器进不去解决方法 好几个人喊进不去服务器 提示什么会话错误什么的
  • 无盘服务器秒卡 锐起0359,锐起无盘系统问题汇集

    锐起无盘系统问题汇集 锐起无盘系统问题汇集 说难也不难 上手快 但是做好难 随着大家做锐起的 时间长了 各种各样的问题都出现了 下面我说最常见的问题 无限滚动 这个很常见 有些人勾选了锐起自带的网卡pnp 导致无限滚动 这类问题最多 还有一
  • JavaWeb-实体类对象嵌套实体类对象的查询

    1 1 实体类代码 Cart类 购物车类 public class Cart 自增的购物车记录id private int cid 用户id private int uid 产品id private int pid 产品数量 private
  • C# 中的委托和事件(详解) ....

    C 中的委托和事件 委托和事件在 NET Framework 中的应用非常广泛 然而 较好地理解委托和事件对很多接触 C 时间不长的人来说并不容易 它们就像是一道槛儿 过了这个槛的人 觉得真是太容易了 而没有过去的人每次见到委托和事件就觉得
  • 编译原理题-带答案

    一 判断题 1 一个 LL l 文法一定是无二义的 Y 2 正规文法产生的语言都可以用上下文无关文法来描述 N 3 一张转换图只包含有限个状态 其中有一个被认为是初态 最多只有一个终态 Y 4 目标代码生成时 应考虑如何充分利用计算机的寄存
  • 协同过滤(Collaborative Filtering):UserCF and Item CF

    具体的学习资料可以参考王喆老师的 深度学习推荐系统 已经梳理好了知识体系 我也将按照这个路线再次梳理一遍 同时做一些拓展和加深理解 一 前言 系统过滤曾是多年前推荐系统领域的应用最广泛的模型 也是基石一样的存在 重要 重要 这里推出两篇论文
  • php书籍

    1 Extending and Embedding PHP 讲述php的引擎zend 告知如何进行php的扩展 php是开源的 所以我们可以对php进行改进 实现自己的php 真好呀
  • 利用Matlab搭建U_net回归网络,以及绘制loss函数曲线图

    U net网络一般用于图像处理比较广泛 但是强大的U net同样也可以用于探索各类回归拟合问题 现在我们就开始用matlab去搭建一个U net拟合回归网络 第一步 数据集处理 在此任务中首先得拥有一套用于回归得数据集 首先将数据集导入工作
  • deployment介绍和使用

    什么是deployment deployment是对pods和ReplicaSet的定义 定义了pods和ReplicaSet的定义和实现方式等 如下为deployment的定义 apiVersion apps v1 kind Deploy
  • C/C++编程:右值引用

    右值引用不过是C 的一种新语法 重要的是基于右值引用引申处理的两种C 编程技巧 移动语义和完美转发 右值引用 C 98 03标准中就有引用 用 表示 但是此种引用方式有一个缺陷 即正常情况下只能操作C 中的左值 无法对右值添加引用 举个例子
  • 狙击涨停板-通达信,同花顺,金字塔,TB等指标公式量化开发安装及使用教程...

    原文链接 http tecdat cn p 7260 选股结果 如果您有任何疑问 请在下面发表评论 大数据部落 中国专业的第三方数据服务提供商 提供定制化的一站式数据挖掘和统计分析咨询服务 统计分析和数据挖掘咨询服务 y0 cn terad
  • Spring 快速入门的一个程序:HelloSpring

    Spring 快速入门的一个程序 HelloSpring 1 新建一个Maven项目 建好之后有以下文件 2 pom xml中注入依赖项 然后刷新Maven 会自动下载依赖包
  • C# 获取本机连接的所有 串口设备名称 与 串口号

    代码 class Program static void Main string args GetComList private static void GetComList try using ManagementObjectSearch
  • vscode添加自定义的用户代码片段

    在vscode中添加代码片段 选择 新建全局代码片段文件 然后输入文件名 随便输入 然后会生成文件 安装文件中的Example就可以添加代码片段 里面各个字段的含义 Print to console 代码片段的名称 不同代码片段需要不同 在
  • 中断请求级

    返回 上一页 下一页 中断请求级 Windows NT为每个硬件中断和少数软件事件赋予了一个优先级 即中断请求级 interrupt request level IRQL IRQL为单CPU上的活动提供了同步方法 它基于下面规则 一旦某CP
  • PADS Logic BOM Output

    Dim fn As String Sub Main fn ActiveDocument If fn Then fn Untitled End If tempFile DefaultFilePath temp txt Open tempFil
  • markdown中图片靠左对齐或靠右对齐

    第一次在markdown中写博客 发现插入图片默认是居中显示的 一开始我是按下面这种方式插入图片的 当图片无法显示的时候 显示的文字 图片URL 然后图片默认居中显示 然后就一通百度 有的说可以这样写 div align left 这里写图
  • java unreachable code不可达代码

    例子 static int test int testval int target 1 if testval gt target System out println 1 return 1 下边是永远不会达到的代码 所以编译器提示错误 un
  • 【Docker】配置容器的hosts来实现域名指定服务

    需求 在使用docker chrome进行selenium自动化测试的时候 希望客户端能够通过某种形式 让我们的case跑到测试环境取 这时候有两个方式 1 给浏览器使用代理 这里不讲 前面有个文章已经说过了 2 修改执行的selenium