欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker(alpine+golang)?中?hosts?不生效問題解決方法

 更新時(shí)間:2022年07月08日 09:58:02   作者:Data-Mining  
這篇文章主要介紹了docker(alpine+golang)?中?hosts?不生效問題解決大全,本文給大家分享了三種解決方法,每種方法給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、問題

把使用 golang 開發(fā)的服務(wù)程序部署在以 alpine 為基礎(chǔ)鏡像的容器中,設(shè)置了 /etc/hosts,卻沒有生效,但是在終端中使用 ping 和 curl 域名都可以正常訪問。

二、解決

出現(xiàn)上述問題的根本原因是 DNS 解析順序不一致導(dǎo)致的,在 alpine 中,linux 系統(tǒng)默認(rèn)跳過 hosts 配置,直接使用機(jī)器的 DNS 服務(wù)。因此,有如下三種解決方法。

方法一、增加配置

修改 NDS 解析順序,先設(shè)置讀 files,再設(shè)置讀 dns,具體方法如下:

echo "hosts: files dns" > /etc/nsswitch.conf

方法二、映射配置

但是方法一會存在一個(gè)問題,就是容器重啟后,配置文件就消失了。因此可以使用如下方式來規(guī)避這個(gè)問題,映射這個(gè)配置文件進(jìn)去。

首先創(chuàng)建一個(gè)配置文件 nsswitch.conf ,內(nèi)容如下:

hosts: files dns

然后,在 docker-compose.yml 中或者 docker run 中映射一下配置文件,參考方法如下:

version: '3'
services:
  test:
    image: tets-x86:latest
    container_name: test-x86
    restart: always
    network_mode: "host"
    volumes:
      - ./config/nsswitch.conf:/etc/nsswitch.conf

方法三、修改鏡像

終極方法,從根本上解決這個(gè)問題,那就是從基礎(chǔ)鏡像上下功夫,打包服務(wù)鏡像的時(shí)候,把配置文件加進(jìn)入,Dockerfile 文件修改如下:

FROM alpine RUN echo "hosts: files dns" > /etc/nsswitch.conf

知識點(diǎn)延伸

alpine 是一個(gè)小而美的基礎(chǔ)鏡像包,最新的 latest 包大小是 5.53MB,時(shí)間是 2022年7月3日,截圖如下:

到此這篇關(guān)于docker(alpine+golang) 中 hosts 不生效問題解決大全的文章就介紹到這了,更多相關(guān)docker hosts 不生效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker在win10家庭版下構(gòu)建laravel開發(fā)環(huán)境的教程詳解

    docker在win10家庭版下構(gòu)建laravel開發(fā)環(huán)境的教程詳解

    這篇文章主要介紹了docker在win10家庭版下構(gòu)建laravel開發(fā)環(huán)境,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Docker中安裝寶塔的詳細(xì)教程

    Docker中安裝寶塔的詳細(xì)教程

    這篇文章主要介紹了Docker中安裝寶塔的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • 使用Docker安裝部署MySQL和Redis的詳細(xì)過程

    使用Docker安裝部署MySQL和Redis的詳細(xì)過程

    這篇文章主要介紹了使用Docker安裝部署MySQL和Redis,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Docker上部署FastApi的示例代碼

    Docker上部署FastApi的示例代碼

    本文主要介紹了Docker上部署FastApi的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Vulhub漏洞靶場搭建圖文教程

    Vulhub漏洞靶場搭建圖文教程

    這篇文章主要介紹了Vulhub漏洞靶場搭建圖文教程,本文圖文講解全流程安裝搭建過程,簡單易懂,需要的朋友可以參考下
    2023-03-03
  • Docker一鍵部署springcloud項(xiàng)目的方法

    Docker一鍵部署springcloud項(xiàng)目的方法

    本文主要介紹了Docker一鍵部署springcloud項(xiàng)目的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Docker中部署flink集群的兩種方式

    Docker中部署flink集群的兩種方式

    這篇文章主要介紹了Docker中部署flink集群的兩種方式,本文將通過 2 種方式在 docker 中部署 flink standalone 集群,集群中共有 4 個(gè)節(jié)點(diǎn),分別是 1 個(gè) jobManager 節(jié)點(diǎn)和 3 個(gè) taskManager 節(jié)點(diǎn),需要的朋友可以參考下
    2024-02-02
  • docker鏡像如何啟動es/kibana

    docker鏡像如何啟動es/kibana

    這篇文章主要介紹了docker鏡像如何啟動es/kibana問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • ubuntu docker搭建Hadoop集群環(huán)境的方法

    ubuntu docker搭建Hadoop集群環(huán)境的方法

    這篇文章主要介紹了ubuntu docker搭建Hadoop集群環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • docker搭建redis三主三從集群的實(shí)現(xiàn)步驟

    docker搭建redis三主三從集群的實(shí)現(xiàn)步驟

    本文主要介紹了docker搭建redis三主三從集群,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評論