.NET Core Uygulamasını Dockerize Etmek – Docker Image Nasıl Oluşturulur?
Merhaba,
Bir önceki Dockerfile Dosyası Nasıl Oluşturulur? başlıklı makalemizde Dockerfile dosyasının nasıl oluşturulduğunu incelemiş bulunmaktayız. Bu içeriğimizde ise Dockerfile dosyasında belirtilen talimatlara uygun Docker Image’in nasıl oluşturulacağını inceleyeceğiz.
Docker Image oluşturmadan önce bilgisayarınızda;
- Docker’ın çalıştığından,
- Docker’a giriş yaptığınızdan
- ve Linux containerda olduğunuzdan
emin olunuz.
Yukarıda adresi verilen önceki makalemizde en son aşağıdaki talimatları barındıran bir Dockerfile dosyası oluşturmuştuk;
FROM mcr.microsoft.com/dotnet/core/runtime:3.1 WORKDIR /app COPY /bin/Release/netcoreapp3.1/publish /app ENTRYPOINT ["dotnet", "DockerizeExample.dll"]
Şimdi gelin bu talimatlara uygun image oluşturalım.
Image Oluşturma
Uygulama dizinini Komut İstemci yahut Powershell ile açarak aşağıdaki Docker CLI komutu aracılığıyla uygulamaya bir image ekleyebilmekteyiz.
PROTOTİP
docker build -t <image_name> <dockerfile_path>
Yukarıdaki prototipe göz atarsanız eğer ‘-t’ parametresinden sonra oluşturulacak image’in ismi belirtilmelidir.
KOD
docker build -t image1 .
Görsele dikkat ederseniz eğer her bir talimata karşılık bir katman oluşturulmaktadır.
Tüm Imagelerin Listelenmesi
Imageleri listeleyebilmek için aşağıdaki kodu çalıştırmanız yeterlidir.
KOD
docker images
Image Silmek
Var olan herhangi bir image’i silmek istiyorsanız eğer aşağıdaki kod konseptlerinden birini kullanabilirsiniz.
PROTOTİP
docker rmi Image <image_name>,
docker rmi Image <image_id>,
docker rmi Image <image_id_first_chars>
KOD
docker rmi Image image1
docker rmi Image 0f88bbc2a78a
docker rmi Image 0f8
(İlk birkaç benzersiz karakter)
Bir sonraki yazımızda üretilen image üzerinden nasıl ayağa container kaldırılabileceğini inceleyeceğiz. O halde şimdilik görüşmek üzere…
İlgilenenlerin faydalanması dileğiyle…
İyi çalışmalar…
Merhaba,
Öncelikle anlatımınız tek kelimeyle müthiş. Google’da Docker hakkındaki en iyi makale, bu yüzden emeğiniz için teşekkürler.
Aldığım bir hata hakkında yardımınızı rica ederim, hatanın çözümüne dair bir şey bulamadım maalesef. Teşekkürler.
> [3/3] COPY /bin/Release/netcoreapp3.1/publish /app:
——
failed to solve with frontend dockerfile.v0: failed to build LLB: failed to compute cache key: “/bin/Release/netcoreapp3.1/publish” not found: not found
Merhaba,
Öncelikle iltifatınız için teşekkür ederim.
Hatanıza gelirsek eğer;
İlgili talimatları vermeden önce uygulamayı derlemeyi denediniz mi? Derlediyseniz, ‘/bin/Release’ dizinine göz atınız ve manuel olarak ‘publish’ klasörüne kadar ilerleyiniz. İlgili klasörde dizini kopyalayıp öyle deneyiniz. ‘netcoreapp3.1’ kısmının sizde farklı olması muhtemeldir.
İyi çalışmalar…
Sevgiler…
Berna Hanım’ın sorusunda .dockerignore dosyasında /bin klasörü de olduğu için problem yaşanıyor. Sorun yaşayanlar o kısmı yorum satırına alırsa problem olmayacaktır.
Selamlar