Docker Compose на Mac - расположение изображения - PullRequest
0 голосов
/ 30 апреля 2018

Я использую docker-compose для локальной разработки на моем Mac. У меня есть несколько изображений, которые создаются с помощью docker compose. Мои настройки docker и docker-compose очень стандартны. Теперь я хочу поделиться своим локально созданным файлом изображения с кем-то. Где хранятся эти локальные файлы?

Поиск немного дал мне ответы вроде:

~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

Но тогда как я могу извлечь одно изображение из этого и поделиться? Я попытался запустить tty, который присутствует с ним, но безрезультатно.

Версия Docker: 18.03 Docker для Mac

Docker compose Версия: 2

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Очевидно, что решение с docker-compose использует команду docker save. Нам не нужно знать расположение изображений, как упомянуто @ fly2matrix. Мы можем использовать команду docker save для сохранения изображения в файле TAR.

docker save --output image-name.tar image-name:tag

Тогда это изображение может быть передано и загружено другими пользователями через:

docker load --input image-name.tar
0 голосов
/ 30 апреля 2018

Если у вас есть docker-hub учетная запись (которая бесплатна), вы можете использовать команду docker push для сохранения образа docker в реестр и использовать команду docker pull для извлечения на другом компьютере.

Другое решение - использовать команды save + import .

Для этого вы можете использовать docker save и docker import команды.

docker@default:~$ docker save --help

Usage:  docker save [OPTIONS] IMAGE [IMAGE...]

Save one or more images to a tar archive (streamed to STDOUT by default)

Options:
  -o, --output string   Write to a file, instead of STDOUT
docker@default:~$

После этого у вас есть файл TAR в вашей файловой системе (проверьте значение -o), затем перенесите файл на другой компьютер и выполните docker import

docker@default:~$ docker import --help

Usage:  docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

Import the contents from a tarball to create a filesystem image

Options:
  -c, --change list      Apply Dockerfile instruction to the created image
  -m, --message string   Set commit message for imported image
docker@default:~$
...