2016-04-01 32 views
0

/names/etc/support (dockerfile) içine nasıl yeni nameserver ekleyebilirim? i zsh ... alıyorum: erişim engellendi:Yeni bir nameserver ile Docker

/etc/resolv.conf benim dockerfile ben kullanın: Benim testte

FROM ubuntu:14.04 

RUN echo "nameserver 10.111.122.1" >> /etc/resolv.conf 

kullandığım:

docker run --rm 746cb98d6c9b echo cat /etc/resolv.conf 

ben değil 't benim değişikliği (yeni alan adı sunucusu) olsun ... Bu yüzden bu yüzden almak ...

docker run --rm 746cb98d6c9b echo "nameserver 10.111.122.1" >> /etc/resolv.conf 

ile mannualy eklemeyi deneyin "zsh: erişim engellendi: /etc/resolv.conf"

Bu dosyanın izini nasıl değiştirebilirim VEYA kök kullanıcı kullan VEYA docker dosyalarında chmod kullan? Benim asıl görevim bu dockerfile yapmam için sunucu eklemek ve dns yapmaktır.

** Ben

cevap

1

Yani, birini (--dns birlikte) liman işçisi çalıştırmak komuta bir ping testi ile doğru sonuç almak

Teşekkür ediyorum *** bir linux nane kullanıyorum Konteynerinizin oluşturulma işlemine yeni DNS bilgileri ekleyebileceğiniz yollardan biri Docker uygulamanıza bazı başlangıç ​​seçenekleri ekleyerek gerçekleşir. Bu işlem için The documentation, kullanacağınız seçeneğin --dns olduğunu ortaya çıkarır. Yapılandırma dosyanızın konumu, özel dağıtımınıza bağlıdır. Linux Mint makinemde, dosya /etc/default/docker'dadır. Linux Mint'te, DOCKER_OPTS= satırına bakın ve ilgili satıra uygun --dns=x.x.x.x girişlerini ekleyin. Google'ın DNS kullanmak istiyorsanız

Örneğin, bu gibi görünmek için o satırı değiştirmelisiniz:

DOCKER_OPTS="--dns=8.8.4.4 --dns=8.8.8.8" 

Ayrıca, --dns veya --dns-search başlangıç ​​seçeneklerinin oid'in içinde, Docker arasında /etc/resolv.conf kullanacak ana bilgisayar bunun yerine çalışıyor.

1

Docker kabının DNS yapılandırması, kabın oluşturulması sırasında ayarlanabilir ve Docker görüntüsünün kendisinde kodlanmış olması gerekmez.

--dns parametresini sağlayarak konteyner eserlerine tek bir DNS sunucusu Geçme:

$ docker run --rm --dns=8.8.8.8 <image> 

Birden fazla DNS sunucusunu sağlamak özgürsünüz ve ayrıca DNS arama gibi diğer DNS ilgili seçenekleri tanımlayabilir adı ya da ortak DNS seçenekleri:

$ docker run --rm --dns=8.8.8.8 --dns=8.8.4.4 --dns-search=your.search.domain --dns-opt=timeout:50 <image> 

Eğer kaba komutu olarak cat /etc/resolv.conf geçmesi, kolayca geçti DNS yapılandırma seçenekleri kabın DNS yapılandırması haline getirdiler doğrulayabilirsiniz:

$ docker run --rm --dns=8.8.4.4 --dns=8.8.8.8 --dns-search=your.domain.name --dns-opt=timeout:50 alpine cat /etc/resolv.conf 

search your.domain.name 
nameserver 8.8.4.4 
nameserver 8.8.8.8 
options timeout:50 

da https://docs.docker.com/engine/reference/commandline/run/

bulunabilir docker run yapılandırmasına bakın