日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

不知道大家有沒有遇到這種場景,部署在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

配置內容的解釋如下圖

 

總結

不知道大家有沒有好奇為什么沒介紹通過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文件,就跟我們操作宿主機一樣。不過這種方式不推薦就是,因為容器一重啟或者銷毀,配置就丟了

分享到:
標簽:docker
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定