您好,登錄后才能下訂單哦!
這篇文章主要介紹“docker中怎么配置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
方法三:如果是通過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中怎么配置hosts”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。