Как перенести директорию, в которой живёт docker, если у вас systemd?

У меня на домашнем сервере Debian живёт на относительно небольшом корневом разделе, а большой раздел предназначен для данных разных сервисов и смонтирован в /data. Таким образом, я хочу, чтобы докер жил не в /var/lib/docker (где ему будет тесно), а в /data/docker/, где хватит места и киту, и всем его контейнерам 🙂

  1. Первым делом – останавливаю докер
$ sudo systemctl stop docker.service
$ sudo systemctl stop docker.socket
  1. далее корректирую параметры его запуска
$ sudo systemctl edit docker.service

В открывшемся текстовом редакторе вбиваю между комментариями следующее:

### Anything between here and the comment below will become the new contents of the file

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --data-root=/data/docker -H fd:// --containerd=/run/containerd/containerd.sock

### Lines below this comment will be discarded
  1. перевожу пожитки (перемещаю /var/lib/docker в /data/docker/)
  2. и, наконец, запускаю…
$ sudo systemctl daemon-reload
$ sudo systemctl start docker

Готовенько! 🙂

docker jwilder/nginx-proxy и загрузка больших файлов

Связка из jwilder/nginx-proxy и docker.bintray.io/jfrog/artifactory-cpp-ce не хочет заливать в репозиторий conan большие пакеты с ошибкой

413 client error request entity too large for url

Содежимое docker-compose.yml для обратного прокси:

version: "3"

services:
  revproxy:
    container_name: revproxy
    image: jwilder/nginx-proxy:latest
    ports:
      - "80:80/tcp"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - /data/docker/revproxy/etc/nginx/certs:/etc/nginx/certs
      - /data/docker/revproxy/etc/nginx/conf.d:/etc/nginx/conf.d
    restart: unless-stopped
    dns:
      - '127.0.0.1'
    network_mode: "host"

Содежимое docker-compose.yml для JFrog:

version: "3"

services:
  jfrog:
    container_name: conan
    image: docker.bintray.io/jfrog/artifactory-cpp-ce:latest
    ports:
      - "8081:8081/tcp"
      - "8082:8082/tcp"
    environment:
      VIRTUAL_HOST: 'conan.my_domain'
      VIRTUAL_PORT: '8082'
    restart: unless-stopped
    dns:
      - '127.0.0.1'
      - '8.8.8.8'
      - '1.1.1.1'

Создаю файл дополнительной конфигурации для nginx /data/docker/revproxy/etc/nginx/conf.d/custom.conf с таким содержимым

client_max_body_size 0;

После пересоздания контейнера с обратным прокси ошибка пропала.