聊聊如何在docker环境中配置hosts

这篇具有很好参考价值的文章主要介绍了聊聊如何在docker环境中配置hosts。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

不知道大家有没有遇到这种场景,部署在docker环境的项目,需要通过域名访问外部一些资源,但因为没有配置dns解析,因此需要通过配置hosts来进行访问。本文就来聊聊可以通过哪些方式可以在docker容器中配置hosts

配置的方法

方法一:启动容器的时候加上“–add-host”

示例:

docker run --add-host='www.lyb-geek.com:127.0.0.1' --add-host='www.lyb-geek.cn:192.168.3.1' --name hello-docker -it 192.168.0.1:5002/lybgeek/hello-docker:1.0

方法二:如果是通过docker-compose启动容器,可以配置extra_hosts属性

示例

version: '3.7'
services:
  hello-docker:
    restart: always
    image: 192.168.0.1:5002/lybgeek/hello-docker:1.0
    extra_hosts:
    - "www.lyb-geek.com:127.0.0.1"
    - "www.lyb-geek.cn:192.168.3.1"
    container_name: hello-docker
    network_mode: bridge
    ports:
     - "80:80"
    environment:
     - ENV=dev
    

3、方法三:如果是通过k8s来管理容器,则在可以在创建pod的yaml文件通过hostAliases添加域名IP映射

示例:

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: dev
  name: hello-docker-deployment
  labels:
    app: hello-docker
spec:
  replicas: 3
  selector:
    matchLabels:
      app: hello-docker
  template:
    metadata:
      labels:
        app: hello-docker
    spec:
      hostAliases:
      - hostnames:
        - www.lyb-geek.com
        ip: 127.0.0.1
      - hostnames:
        - www.lyb-geek.cn
        ip: 192.168.3.1
      imagePullSecrets:
      - name: default-secret
      containers:
      - name: hello-docker
        image: 192.168.0.1:5002/lybgeek/hello-docker:1.0
        imagePullPolicy: Always
        ports:
         - containerPort: 80
        env:
          - name: ENV
            value: "dev"

核心配置

 spec:
      hostAliases:
      - hostnames:
        - www.lyb-geek.com
        ip: 127.0.0.1
      - hostnames:
        - www.lyb-geek.cn
        ip: 192.168.3.1

配置内容的解释如下图
聊聊如何在docker环境中配置hosts

总结

不知道大家有没有好奇为什么没介绍通过dockerfile的方式,因为dockerfile的方式,我试过在dockerfile文件中配置

RUN echo 'www.lyb-geek.com:127.0.0.1' >> /etc/hosts

不过没生效。也试过将hosts的文件放在项目目录下

通过配置如下内容

COPY hosts /etc/hosts
RUN echo 'www.lyb-geek.com:127.0.0.1' >> /etc/hosts

不过没鸟用。可能配法不对,也有可能是因为被k8s影响到了。不过如果容器是通过k8s来管理,推荐直接通过
配置hostAliases这种方式。其实还有一种方式,就是进入容器内部,直接改hosts文件,就跟我们操作宿主机一样。不过这种方式不推荐就是,因为容器一重启或者销毁,配置就丢了文章来源地址https://www.toymoban.com/news/detail-502243.html

到了这里,关于聊聊如何在docker环境中配置hosts的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决在win环境下配置hosts文件中ipv6映射主机名,找不到主机问题

    当前springBoot项目中需要支持通过主机名的方式连接redis,于是在win的hosts环境中配置 ipv6    hostname 映射关系,ping命令失败如下(不能通过ping hostname  ,ping通ipv6) 解决办法: 1.查看当前 要访问的 ipv6的地址是通过那个【网卡号】进行访问。 例如我要访问的是linux虚拟机。 则

    2023年04月08日
    浏览(33)
  • 如何在Mac中编辑hosts文件配置访问地址

    1、桌面左上角点击访达 -- 然后点击偏好设置 : 会出现以下界面,勾选显示所有文件扩展名: 2、然后点击(我是用触控板双指一起按出现的,鼠标的话是左键点中访达图标后,按住不动)访达图标选择前往文件夹: 3、会弹出一个窗口,让你输入文件夹的路径。因为hosts文件

    2024年02月04日
    浏览(38)
  • F5是什么意思?聊聊你所不知道的F5

    5月底,有幸参加了F5 Forum 科技趋势峰会,这让我不仅关注数字化企业和应用服务的技术趋势,也对华丽转型后的F5有了更深入的了解。如果你对F5是什么意思尚且存在疑问,那这篇文章我们就聊聊我眼中的F5,这个应用及API交付和安全防护市场的顶级玩家。   F5的成就是有目共

    2024年02月13日
    浏览(29)
  • 手把手教小白如何在Window系统下搭建Nginx服务器环境并部署前端项目

    这里日后补充… 在nginx官网http://nginx.org/en/download.html 下载稳定版至自己想要的目录下。 然后解压文件(没有exe的安装过程),下在解压后进入其目录如下: (注意:安装目录最好不要有中文,否则启动时容易报错) 启动方式有两种: (1)直接进入nginx安装目录下,双击n

    2024年02月16日
    浏览(40)
  • 如何修改Hosts文件(Windows、Linux)本机配置域名解析

    Hosts文件是一种在计算机网络中存储主机名与IP地址对应关系的文本文件。通过配置Hosts文件,可以避免在网络环境中DNS无法正常解析时,出现无法访问互联网的问题。 1 以windows10系统为例,手指同时按住 windows 键和 X 键,在电脑桌面右下角弹出来的菜单里选择Windows Powershell(

    2024年02月03日
    浏览(38)
  • docker search 镜像报错: connect: no route to host (桥接模式配置静态IP)

    可能有多种: ① 没有开放防火墙端口 ② ip地址配置有误 我是因为 虚拟机采用了桥接模式,配置静态ip地址 有问题。 先确认虚拟机采用的是 桥接模式,然后启动虚拟机。 查看本机无线网适配器地址: 这里要配固定静态ip前,先查看一下主机ip已经占用的有哪些: (中间的

    2024年02月14日
    浏览(32)
  • 《Docker极简教程》--前言--Docker的简介

    Docker 是一种用于构建、部署和运行应用程序的开源平台,它使用容器技术来实现轻量级、可移植和自包含的应用程序环境。Docker 的核心思想是将应用程序及其依赖项打包到一个称为容器的封闭单元中,从而消除了在不同环境中运行应用程序时可能出现的许多兼容性和依赖性

    2024年02月21日
    浏览(37)
  • docker环境配置之bevdet配置

    python -m pip install --upgrade --no-deps --force-reinstall numpy-quaternion# 一、nvidia-dokcker配置 1、查看已有镜像 ; 查看所有运行容器 2、创建容器,创建容器时一定用nvidia-docker,不然不能调GPU 3、查看当前目录存在文件:ls ; 查看当前文件路径:pwd ;找文件:whereis cudnn 4、删除容器 ;删除镜

    2024年01月24日
    浏览(25)
  • 【环境配置】使用Docker搭建LAMP环境

    这篇文章不是介绍DOCKER是什么,也不是阐述DOCKER的核心:镜像/容器和仓库之间的关系,它只是一篇让刚刚接触DOCKER的初学者,在没有完全了解DOCKER是什么之前,也能尽快的在Linux系统下面通过DOCKER来搭建一个LAMP环境,这是其一;其二才是我写这篇文章的初心,我觉得很多事情在

    2024年02月15日
    浏览(31)
  • Docker Compose 配置环境变量

    在 Docker Compose 中, 可以通过 environment 字段来设置环境变量. 可以在 docker-compose.yml 文件中的服务定义中添加以下行来设置环境变量: 在这个例子中, myservice 服务的环境变量 MY_VAR 的值被设置为 myvalue. 可以根据需要添加多个环境变量. 如果想要从一个 .env 文件中加载环境变量, 可

    2024年03月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包