人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

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

發(fā)布日期:2022-07-15 19:28 | 文章來源:源碼之家

一、問題

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

二、解決

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

方法一、增加配置

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

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

方法二、映射配置

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

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

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

方法三、修改鏡像

終極方法,從根本上解決這個問題,那就是從基礎鏡像上下功夫,打包服務鏡像的時候,把配置文件加進入,Dockerfile 文件修改如下:

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

知識點延伸

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

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

香港服務器租用

版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部