Docker hub‘a login olalım, Repositories sekmesinden Create Repository’i seçelim. Hub’a upload etmek istediğiniz imajın adını ve açıklamasını girelim. Repo ismindeki tüm karakterlerin küçük harf olmasını isteniyor, rakam, alt tire ve tire karakterlerini de kullanabilirsiniz. Diğer bir tarafta cli’dan docker login komutunu verelim.Bize kullanıcı adı ve şifemizi soruyor.Docker Hub’da kullandığımız kullanıcı adı ve şifresini yazıyoruz.
#docker login https://index.docker.io/v1/ (docker login servername)
Username:
Password:
Login Succeeded Login Succeeded yazısını görünce login oldun demektir.
#docker push <IMAGE-NAME>
şeklinde komut gireceğiz. Burada repo ismini yanlış girersek; “An image doesn’t exist locally with the tag” gibi bir uyarı verir.Bu yüzden ilk önce docker imajımıza bir tag girmemiz lazım,
Etiket yani tag girerken -t parametresini kullanacağız. Image name’de root namespace’sinizin yer alması şarttır. Mesela projeniz “plapi17” adı taşıyorsa ve DockerHub Namespace’siniz “seylul” ise ; Image name’iniz “seylul/plapi17” olmalıdır.
#docker build . -t seylul/plapi17
komutunu vererek yeni bir imaj oluşturalım
Docker imagelarımızı listeleyelim ve oluşturduğumuz imajın etiketine dikkat edelim. Çıkan listede tag sütunu altında yazar.
#docker images
burada kendi imajımızın etiketini bir sonraki adımda kullanacağız.
Image name’de root namespace’sinizin yer alması şarttır.
#docker push <IMAGE-NAME>:TAG
#docker push seylul/plapi17:latest
şeklinde komutu girdiğimizde docker hub’a upload’un başladığını görürüz.
Eğer çıktısında aşağıdaki gibi “unauthorized” şeklinde bir hata alıyorsanız ve login olduğunuza eminseniz;
şeklinde bir hata alıyorsanız ve login olduğunuza eminseniz;
.docker/config.json dosyasının adını değiştirip tekrar docker login komutunu çalıştırabilirsiniz. Muhtemelen config dosyasının içeriğinde yanlış bir şeyler var.
#find / -name config.json
#mv xxx/.docker/config.json xxx/.docker/config_old.json
#cd xxx/plapi17
#docker login https://index.docker.io/v1/ Aşağıdaki gibi çıktısı olmalıdır
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: seylul
Password:
WARNING! Your password will be stored unencrypted in /xxx/.docker/config.json.
Configure a credential helper to remove this warning.
See https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
Şimdi tekrar push edelim.
docker push seylul/plapi17:latest