Jika Anda telah membuat image Docker di mesin pengembangan Anda, dan ingin menerapkannya di server, Anda dapat menggunakan registry Docker, tetapi Docker juga memiliki alat untuk menyimpan image ke file, dan memuatnya di server yang berbeda.
Anda Tidak Membutuhkan Container Registry
Biasanya, untuk mentransfer build container (disebut image) ke server jarak jauh, Anda menggunakan registry container Docker. Sejauh ini, ini adalah metode terbaik—ini adalah satu titik otoritas, membuatnya mudah untuk mendistribusikan pembaruan di beberapa server. Ini juga tidak mengharuskan Anda untuk membuat wadah menjadi publik; ada banyak pendaftar kontainer pribadi yang hebat, seperti GCR Google dan ECS AWS. Docker Hub bahkan mendukung repositori pribadi. Jika Anda hanya mengkhawatirkan privasi, alihkan ke registri pribadi dan lanjutkan menggunakan docker push
dan docker pull
.
Namun, bagi mereka yang ingin melakukannya dengan cara lama, Docker CLI berisi beberapa alat untuk menyimpan gambar ke file, dan memuatnya di server jauh.
Untuk menyimpan gambar, Anda dapat menggunakan docker save
, menentukan file output, lalu menentukan nama dan tag gambar:
docker save -o ./savedimage imagename:tag
Jika Anda tidak menentukan tag, Docker akan mengemas semua tag.
Ini akan membuat serial dan menyimpan salinan gambar di bawah file output. Gambar disimpan sebagai tarfile. Jika Anda ingin menyimpannya sebagai tar.gz
, Anda dapat menghilangkan -o
tandai dan pipa output ke gzip
:
docker save imagename:tag | gzip > savedimage.tar.gz
Anda kemudian dapat mengambil file ini dan scp
atau salinan FTP ke server target. Setelah itu, Anda dapat menggunakan docker load
untuk mengimpornya lagi:
docker load -i savedimage
Ini akan membuat gambar tersedia di sistem target seolah-olah Anda telah menjalankan docker build . -t imagename
. Anda dapat menggunakannya seperti gambar yang dibuat secara lokal dengan docker container run
:
docker container run imagename