Off-line установка Docker контейнеров

Предварительные условия: 

— нет доступа к репозитариям Docker с сервера где надо произвести установку

— возможно закачать файлы на сервер (по ftp или каким то другим способом)

Устанавливаем Docker любым возможных способом, например скачав пакеты вот по этой инструкции для Ubuntu (если у Вас другая система то делайте по соответствующей инструкции)

Устанавливаем докер на локальную машину где есть доступ к репозитариям Docker

Устанавливаем на локальной машине необходимые Docker контейнеры с помощью Docker compose, я буду делать на примере Portainer и создаю папку с именем portainer

в папке создаю файл с именем docker-compose.yaml и запускаю контейнер командой docker compose up -d

дожидаюсь запуска контейнера, так как это первый запуск то он скачает образ, список образов можно посмотреть командой 

docker images

выведет список всех образов установленных в Docker

root@comp:/home/user# docker images
REPOSITORY                TAG       IMAGE ID       CREATED        SIZE
portainer/portainer-ce    latest    0c03664af9ed   2 months ago   308MB

нам надо импортировать это образ, для импорта используем команду:

docker save --output portainer.tar 0c03664af9ed

где portainer.tar — имя файла экспорта

0c03664af9ed — IMAGE ID из предыдущей команды

теперь закачиваем созданный файл на удаленный сервер и папку с конфигурацией в которой лежит наш docker-compose.yaml файл, в моем случае папку portainer

для загрузки образа переходим в папке на сервере с файлом образа (в моем случае portainer.tar ) и выполняем

docker load --input portainer.tar

образ загружен, но если мы посмотрим список образов то у загруженного образа нет репозитария и TAG

root@vps:/home/user# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
<none>       <none>    4e2b39d79f42   7 seconds ago   308MB

для того чтобы задать репозиторий и TAG выполним команду:

docker tag 4e2b39d79f42 portainer/portainer-ce:latest

где репозиторий и TAG пишется через двоеточие, репозиторий и TAG берем из списка Docker образов локальной машины или из файла docker-compose.yaml параметр image:

, теперь у нас образ имеет репозитарий и тег

root@msb-site-repiter:/home/ubuntu# docker images
REPOSITORY               TAG       IMAGE ID       CREATED         SIZE
portainer/portainer-ce   latest    4e2b39d79f42   9 minutes ago   308MB

 теперь можно запускать контейнер, для этого переходим в папку с файлом docker-compose.yaml и запускаем контейнер командой docker compose up -d поскольку образ у нас загружен то он не будет закачивать образ а запустит контейнер

root@vps:~/docker/portainer# docker compose up -d
[+] Running 2/2
 ✔ Network mylan        Created                                                                                                                                                                          0.1s 
 ✔ Container portainer  Started                

Такую же операцию надо произвести со всеми образами и контейнерами.

Off-line установка Docker контейнеров

Навигация по записям