Docker daemon config file on boot2docker / docker-

2019-01-13 03:00发布

问题:

Where can I find docker daemon config file on boot2docker machine?

According to this topic: Dockerfile: Docker build can't download packages: centos->yum, debian/ubuntu->apt-get behind intranet

I want to set '--dns' in DOCKER_OPTS, but I can't find this config file either at /etc/default or anywhere else.

回答1:

Inside boot2docker (boot2docker ssh) / docker-machine (docker-machine ssh default) , open or create the file /var/lib/boot2docker/profile and add the following line:

EXTRA_ARGS="--dns 192.168.1.145"

Also works for:

EXTRA_ARGS="--insecure-registry myinternaldocker"

After the change you need to restart the docker daemon:

sudo /etc/init.d/docker restart

Or leave boot2docker / docker-machine and restart the entire virtual machine:

boot2docker restart
# for docker machine
docker-machine restart default

Information taken from: https://groups.google.com/d/msg/docker-user/04pAX57WQ7g/_LI-z8iknxYJ

Regards



回答2:

It took me quite some time to figure this out. If you are using a mac you have to go to a fresh terminal and run:

boot2docker ssh

This will open a new terminal, from there you have to edit or create a file

sudo vi /var/lib/boot2docker/profile

and add the DNS that you would like to add, for example:

DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4"

After that you need to restart boot2docker. Here I had some issues at the beginning so I close everything and run in a terminal:

boot2docker down
boot2docker up

you can also use:

boot2docker restart

I had to do it twice. After that I started again using the normal boot2docker icon and everything worked.

I hope this helps.



回答3:

If you want to script things, you can do these steps on one ugly line:

boot2docker ssh 'sudo sh -c "echo \"EXTRA_ARGS=\\\"--dns 1.2.3.4\\\"\" > /var/lib/boot2docker/profile && sudo /etc/init.d/docker restart"'