Зображення Docker зберігаються у вигляді шарів файлової системи. Кожна команда в Dockerfile створює шар. Ви також можете створити шари, використовуючи docker commit
командний рядок після внесення змін ( docker run
можливо, через ).
Ці шари за замовчуванням зберігаються під /var/lib/docker
. Хоча ви (теоретично) можете вишнево вибирати файли звідти та встановлювати їх на іншому докер-сервері, мабуть, погана ідея грати з внутрішнім представництвом, яке використовує Докер.
Коли ви натискаєте зображення, ці шари надсилаються до реєстру (за замовчуванням реєстр концентратора докер ..., якщо ви не позначите своє зображення іншим префіксом реєстру) і зберігаються там. Під час натискання ідентифікатор шару використовується, щоб перевірити, чи є у вас шар вже локально, або його потрібно завантажити. Ви можете docker history
заглянути до того, які шари (інші зображення) використовуються (і певною мірою, яка команда створила шар).
Щодо варіантів спільного використання зображення без натискання на реєстр концентраторів докер, найкращі варіанти:
docker save
зображення або docker export
контейнер. Це дозволить вивести файл tar на стандартний вихід, тому ви хочете зробити щось на кшталт docker save 'dockerizeit/agent' > dk.agent.latest.tar
. Потім ви можете використовувати docker load
або docker import
в іншому хості.
Розмістіть власний приватний реєстр. - Застарілий, дивіться коментарі Дивіться зображення реєстру докера . Ми створили реєстр резервного копіювання s3, який ви можете запустити та зупинити за потребою (весь стан зберігається у вибраному вами відрізку s3), що тривіально для налаштування. Це також цікавий спосіб перегляду того, що відбувається при натисканні на реєстр
Використовуйте інший реєстр, наприклад quay.io (я особисто цього не пробував), хоча будь-які занепокоєння щодо докерного центру, ймовірно, стосуватимуться і тут.