Elbette, görüntüleri dağıtma konusunda birkaç yol vardır. Muhtemelen bahsetmem gereken en önemli şey, bir kayıt defterinin (özellikle dağıtım ekibi tarafından desteklenen en yeni sürüm olan "v2 kayıt defteri") is kind of a pain. Bu süper zor değil ve kayıt defterinin ilk sürümü olan ışık yılı (eski python projesi), ancak özellikle bu hızlı ve kolay bir çözüm aradığınız için bu özel problemin içine dalmak istediğiniz bir şey değil.
Yani, görüntüleri veya kapları tarball arşivleri olarak dağıtmaya devam ediyorsunuz. Burada kullanabileceğiniz iki komut kümesi vardır ve bazı küçük (ama önemli) farklılıklar vardır. Öncelikle, kapsayıcı değil, sadece görüntüyü aktarmaya bakalım. Bu nedenle, docker ana bilgisayarında docker save
kullanıyorsunuz ve sonra tarpayı hedef makineye aktarıyorsunuz ve daha sonra tarball'dan bir görüntü oluşturmak için docker load
'u kullanacaksınız. Örneğin, ana bilgisayarda:
docker save --output myImage.tar myImage:latest
Ve sonra rsync
veya sftp
(ya da herneyse) hedef makineye myImage.tar
Tarball'ı transfer etmek olabilir. Sonra bu ana bilgisayarda: Oldukça basit, ama Diyelim ki Aktarmak istediğiniz bir görüntüyle kaçan bir kap var diyelim
docker load --input myImage.tar
. Sorun, görüntüyü aktarabilmeniz, ancak başladığından beri görüntü dosya sisteminde yapılan tüm değişiklikleri kaybedecektir. Bunun etrafında docker export
ve docker import
kullanmaktır. Bu, temel dosya sistemi görüntüsü ile birlikte tüm ara değişikliklerin dosya sistemine kaydedilmesini sağlayacaktır.
Yani, docker host'unuzdaki docker export
komutunu ve elbette hedef makinenizdeki docker import
komutunu kullanacaksınız. Diğer örnekte olduğu gibi, hedef makineye docker export
tarafından oluşturulan katranı aktarmanız gerekecektir. Örneğin, liman işçisi ana bilgisayarda:
docker export myContainer > myContainer.tar
Ve sonra hedef makinede, buna myContainer.tar
aktardıktan sonra:
Şimdi
cat myContainer.tar | docker import - jotschi/myContainerImage
bir görüntü hedefte jotschi/myContainerImage
denilen var Daha sonra bir kapsayıcı oluşturabileceğiniz:
docker run -d --name=myContainer -p 80:80 jotschi/myContainerImage