Secara default, Docker image bisa kita dapatkan dari Docker registry di Docker Hub. Docker image bisa juga kita buat sendiri, apakah itu dari container yang sudah ada atau build dari Dockerfile. Nah, pada seri tutorial Docker kali ini kita akan belajar bagaimana cara membuat Docker image dan juga upload (push) Docker image ke registry.
1. Build dari container
Misalnya membuat Docker image dengan nama web-freelancer:v1 dari container web-freelancer.
docker commit web-freelancer web-freelancer:v1
Menampilkan Docker images untuk mengetahui apakah image yang dibuat sudah tercipta.
docker images
Contoh hasil perintah di atas.
REPOSITORY TAG IMAGE ID CREATED SIZE
web-freelancer v1 0086656c5db9 7 seconds ago 844MB
2. Upload (push) image
Selanjutnya kita akan upload (push) image ke Docker registry, Docker Hub.
Buatlah akun terlebih dahulu di hub.docker.com.
Login ke Docker Hub.
docker login
Contoh hasil perintah di atas.
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: musaamin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
image yang akan di-push harus menyertakan username registry. Misalnya username saya adalah musaamin, berarti nama images harus musaamin/repository:tag.
Kita ubah dulu image sebelumnya web-freelancer:v1 menjadi musaamin/web-freelancer:v1.
docker tag web-freelancer:v1 musaamin/web-freelancer:v1
Tampilkan kembali docker images untuk melihat hasilnya.
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
web-freelancer v1 1915e927a451 15 minutes ago 23.1MB
musaamin/web-freelancer v1 1915e927a451 15 minutes ago 23.1MB
Sekarang push ke registry.
docker push musaamin/web-freelancer:v1
Contoh hasil perintah di atas.
The push refers to repository [docker.io/musaamin/web-freelancer]
1338f25d181c: Pushed
a7c11ed26fd5: Pushed
6e8309ec6bfd: Pushed
7ff80c2c03d5: Pushed
35e4637a9d6c: Pushed
b5d14f4aebad: Pushed
b2d5eeeaba3a: Pushed
v1: digest: sha256:2b0e45056281ad3fea049bc91baf0373d64ff64a626b76b64d224e819ea3dead size: 1778