Respuestas:
Creo que en esta guía tendrás una buena explicación.
Puede cambiar el directorio base de almacenamiento de Docker (donde van el contenedor y las imágenes) utilizando la opción -g al iniciar el demonio Docker.
Ubuntu / Debian: edite su
/etc/default/docker
archivo con la-g
opción:DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
Fedora / Centos: edite
/etc/sysconfig/docker
y agregue la-g
opción en la variable other_args: ej.other_args="-g /var/lib/testdir"
. Si hay más de una opción, asegúrese de encerrarlas en "". Después de reiniciar, (reinicio de Docker de servicio) Docker debería usar el nuevo directorio.Usar un enlace simbólico es otro método para cambiar el almacenamiento de imágenes.
Precaución: estos pasos dependen de que su / var / lib / docker sea un directorio real (no un enlace simbólico a otra ubicación).
1) Detener ventana acoplable:
service docker stop
. Verifique que ningún proceso de Docker esté ejecutando ps faux2) Docker de doble verificación realmente no se está ejecutando. Eche un vistazo al directorio actual de docker: ls
/var/lib/docker/
2b) Hacer una copia de seguridad -
tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz
3) Mueva el
/var/lib/docker
directorio a su nueva partición:mv /var/lib/docker /mnt/pd0/docker
4) Haz un enlace simbólico:
ln -s /mnt/pd0/docker /var/lib/docker
5) Eche un vistazo a la estructura del directorio para asegurarse de que se vea como antes del mv:
ls /var/lib/docker/
(tenga en cuenta la barra inclinada final para6) Iniciar copia de seguridad de la ventana acoplable
service docker start
7) reinicia tus contenedoresresuelve el enlace simbólico)
Para cambiar el data
directorio en el docker
que se debe ejecutar con la opción -g /my/data
. En mi /etc/default/docker
pongo:
DOCKER_OPTS="-g /srv/docker"
Vea también mis notas aquí .
Para cambiar el data
directorio en lxc
puse en /etc/lxc/lxc.conf
:
lxc.lxcpath = /srv/lxc
Para ampliar la respuesta de @ MattK:
La documentación de Docker sobre el control del demonio Docker sugiere que la forma independiente de la plataforma para hacer esto es:
edite el archivo /etc/docker/daemon.json para contener la línea
{
"data-root": "/mnt/docker-data",
(...)
}
donde /mnt/docker-data
es el directorio donde desea que vivan las imágenes y los contenedores de la ventana acoplable.
Entonces
sudo systemctl restart docker
Puede verificar si funcionó ejecutando
docker info
y busque el contenido de la línea que comienza con Docker Root Dir:
.
Consulte también https://stackoverflow.com/a/50217666/2209313 y https://unix.stackexchange.com/q/452368/36043 .