Я пытаюсь выполнить следующее скрипт но dockerd
не распознается на моей рабочей станции.
Моя ОПЕРАЦИОННАЯ система - Windows 10. Только что установлена последняя версия docker, которая является 18.09.2
Это мой первый раз с docker.
Я пытаюсь выполнить следующее скрипт но dockerd
не распознается на моей рабочей станции.
Моя ОПЕРАЦИОННАЯ система - Windows 10. Только что установлена последняя версия docker, которая является 18.09.2
Это мой первый раз с docker.
Этот ответ является скорее дополнением к Ответ Жана-Франсуа Бошана :
Вы можете найти полную документацию об этом конфигурационном файле на Документация Docker.
В нем говорится :
--data-root
это путь, по которому хранятся сохраняемые данные, такие как изображения, тома и состояние кластера.
и
--exec-root
это путь, по которому хранится состояние контейнера. Значение по умолчанию - /var/run/docker. Укажите здесь путь для вашего запущенного демона.
Поэтому, если вы хотите переместить как свои контейнеры, так и изображения (и другие материалы), вы должны установить оба этих параметра.
Вы также можете создать простую ссылку, по которой Docker ожидает, что его папка будет перенаправлена в нужное место.
Это описано здесь и приводят к тому же результату. Это выглядит "грязно", но в итоге выглядит более стабильным, чем первое решение.
"D:\\Docker\\data-root"
ценность как предложенный Мигелем приведет к сбою Docker, потому что это должна быть папка WSL.
Однако Docker создает определенный дистрибутив WSL, который содержит ваши данные docker, и вы можете переместить его. Для этого не требуется изменять параметры dockerd.
Чтобы переместить дистрибутив docker WSL
wsl --export docker-desktop-data docker-desktop-data.tar wsl --unregister docker-desktop-data wsl --import docker-desktop-data X:\wslStore\ docker-desktop-data.tar --version 2
То X:\wslStore
параметр - это путь, по которому вы хотите "смонтировать" свой дистрибутив, что-то вроде D:\Docker\data-root
В Docker v19.03.8 для Windows я добавил graph
параметр в моей конфигурации, и это сработало для меня, но, по-видимому, этот параметр устарел, и теперь мы должны использовать data-root
вместо. Значение по умолчанию для data-root
является c:\programdata\docker
. Имейте в виду, что в конфигурационном файле JSON необходимо экранировать обратную косую черту.
Найдите другой способ сделать это на основе этот пост.
Для контейнеров Unix путь к изображениям может быть изменен с помощью интерфейса рабочего стола Docker в форме настроек. Но если вы используете функцию Windows containers, то устанавливается вторая служба - "Docker Engine". Чтобы изменить папку изображений для этой службы, выполните следующие действия:
>1) Получите путь к конфигурационному файлу.Перейдите в раздел Административные инструменты-Службы. Проверьте командную строку docker demon на наличие службы "Dock Engine"
Командная строка - это что-то вроде
"C:\Program Files\Docker\Docker\Resources\dockerd.exe " --run-service --service-name docker -G MyPC" --конфигурационный файл C:\ProgramData\DockerDesktop\tmp-d4w\daemon.json
2) Отредактируйте конфигурационный файл daemon.json
и добавьте свойство data-root.Значение свойства должно указывать на желаемое местоположение. Должно выглядеть примерно так. Проверять этот для получения информации о структуре json.
{ "registry-mirrors": [], "insecure-registries": [], "debug": true, "experimental": false, "hosts": [ "npipe:////./pipe/docker_engine_windows" ], "data-root":"D:\\Docker\\data-root"
}
При необходимости предоставьте разрешения для запущенной учетной записи на доступ к папке.
3) перезапустите службу.Если не запускается, проверьте eventlog
на предмет возможных ошибок.
Предыдущие настроенные данные в c:\ProgramData\Docker будут потеряны при изменении места установки.Это как новая установка в новое место. (изображения, контейнеры и т.д.). Все вложенные папки будут созданы снова.
Чтобы сохранить минимум на системном диске, сделайте это при новой установке.
Я не уверен на 100% в этом решении, но пока docker работает нормально, а загрузка системного диска невелика.