Failed to edit the /etc/resolv.conf file in the docker container

I want to add a domain entry in /etc/resolv.confmy docker container.

Here is my dockerFile

FROM tomcat:8.0.20-jre7
VOLUME /tmp
#RUN sed -i "s|search local|domain com.example.com|g;" /etc/resolv.conf
RUN echo "domain com.example.com" >> /etc/resolv.conf
# Expose ports.
EXPOSE 8080

I tried both echo, and sed. c sed, I get an error during the build.

sed: cannot rename /etc/sed6LcoES: Device or resource busy

but with container design echosuccessfully. however, when I get into the container, I donโ€™t see that my domain is added to /etc/resolv.conf.

why doesn't it work?

NOTE. I have dns-searchone working by passing during run argument

docker run -p 8080:8080 --dns-search=com.example.com -d --name myawesome my/myawesome:latest

but I'm interested in working dockerFile.

+5
source share
2 answers

. /etc/resolv.conf . :

Docker DNS, , ? , /etc , ... Docker , resolv.conf , - DHCP . , Docker , , Docker.

/ DNS, --dns . :

+8

, IP- DNS-, :

echo "$(sed '2,$c nameserver 223.5.5.5\nnameserver 223.6.6.6' /etc/resolv.conf)" > /etc/resolv.conf

sed , ( vim). /etc/resolve.conf , , .

df -ah:

Filesystem      Size  Used Avail Use% Mounted on
overlay          59G  7.5G   49G  14% /
...
mqueue             0     0     0    - /dev/mqueue
shm              64M     0   64M   0% /dev/shm
/dev/sda1        59G  7.5G   49G  14% /etc/resolv.conf
....

, IP- DNS- Docker:

$ docker run --help|grep dns
      --dns list                       Set custom DNS servers
      --dns-option list                Set DNS options
      --dns-search list                Set custom DNS search domains

$ docker run -it --rm --dns=223.5.5.5 --dns=223.6.6.6 centos:perf-tools /bin/bash
[root@ea0ac0fcd834 /]# cat /etc/resolv.conf
nameserver 223.5.5.5
nameserver 223.6.6.6

, IP- DNS- docker-composer.yml:

dns: 8.8.8.8
dns:
  - 8.8.8.8
  - 9.9.9.9

.: https://docs.docker.com/v17.09/compose/compose-file/#dns

0

Source: https://habr.com/ru/post/1663201/


All Articles