Pokud jste vytvořili obraz Docker na svém vývojovém počítači a chcete jej nasadit na server, můžete použít registr Docker, ale Docker má také nástroje pro ukládání obrazů do souborů a jejich načítání na jiný server.
Nepotřebujete registr kontejnerů
K přenosu sestavení kontejneru (nazývaného obrázek) na vzdálený server obvykle používáte registr kontejnerů Docker. Toto je zdaleka nejlepší metoda – je to jediný bod autority, který usnadňuje distribuci aktualizací na více serverů. To také nevyžaduje, abyste kontejner zveřejnili; existuje spousta skvělých soukromých registrů kontejnerů, jako je GCR společnosti Google a ECS společnosti AWS. Docker Hub dokonce podporuje soukromá úložiště. Pokud máte pouze obavy o soukromí, přepněte na soukromý registr a pokračujte v používání docker push
a docker pull
.
Nicméně pro ty, kteří to chtějí udělat staromódním způsobem, Docker CLI obsahuje některé nástroje pro ukládání obrázků do souborů a jejich načítání na vzdálený server.
Chcete-li uložit obrázek, můžete použít docker save
, zadáním výstupního souboru a poté zadáním názvu obrázku a tagu:
docker save -o ./savedimage imagename:tag
Pokud značku neurčíte, Docker zabalí všechny značky.
Tím dojde k serializaci a uložení kopie obrázku pod výstupní soubor. Obrázek je uložen jako tarfile. Pokud jej chcete uložit jako tar.gz
, můžete vynechat -o
označit a přesměrovat výstup do gzip
:
docker save imagename:tag | gzip > savedimage.tar.gz
Poté můžete vzít tento soubor a scp
nebo FTP kopie na cílový server. Jakmile tam je, můžete použít docker load
pro jeho opětovné importování:
docker load -i savedimage
Tím se obraz zpřístupní v cílovém systému, jako byste spustili docker build . -t imagename
. Můžete jej použít stejně jako lokálně vytvořený obrázek s docker container run
:
docker container run imagename