/akademi2023

This repo about Bestcloudfor.me Case Study

Primary LanguageDockerfile

1. Adım: Kodu Git Deposuna Yükleme

İlk olarak, örnek uygulama kodunu indirerek oluşturduğum Git depoma yükledim. Github kullandım.

2. Adım: Dockerfile Oluşturma

Dockerfile'ı oluşturmak için aşağıdaki adımları takip ettim:

Yeni bir metin dosyası oluşturdum ve Dockerfile adını verdim. Dockerfile'a aşağıdaki metni ekledim:

FROM python:3.9

WORKDIR /app

COPY . .

RUN pip install -r requirements.txt

CMD ["python3", "app.py"]

Dockerfile'ı kaydettim.

3. Adım: Docker Image Oluşturma ve Docker Image Registry'de Saklama

Docker image'ını oluşturmak için aşağıdaki adımları takip ettim:

Terminal'de cd komutunu kullanarak Dockerfile'ın bulunduğu dizine gittim. "docker build -t bc4m ." komutunu çalıştırdım. docker images komutunu çalıştırdım ve bc4m image'ının oluşturulduğunu doğruladım. docker push bc4m komutunu çalıştırdım ve bc4m image'ını Docker Hub'a yükledim.

4. Adım: Docker Container Çalıştırmak

Docker container'ı çalıştırmak için aşağıdaki adımları takip ettim:

Terminal'de "docker run -p 5000:5000 bc4m" komutunu çalıştırdım. Web tarayıcımı açıp "localhost:5000" adresine gittim. Örnek uygulamanın çıktısını gördüm:

{"msg":"BC4M"}

RUN vs CMD komutu nedir? Ne işe yarar?

CMD verilen bir komutu container ayağa kalktıktan sonra çalıştırmak için kullanılır. RUN ise image içinde komut çalıştırmak için kullanılır.

O yüzden image içinde yükleme yaparken yani program install ederken RUN komutunu kullanırız yükledikten sonra o process'i çalıştırmak içinse CMD yi kullanırız.

Docker nedir? Ne için kullanılır?

Docker, yazılım uygulamalarını hızlı ve taşınabilir bir şekilde paketlemek, dağıtmak ve çalıştırmak için kullanılan açık kaynaklı bir konteynerizasyon platformudur. Docker, uygulamaları bir çeşit konteyner olarak adlandırılan izole edilmiş ortamlarda çalıştırmanızı sağlar. Her konteyner, çalıştığı sistemden bağımsız olarak, gereksinimleriyle birlikte tüm uygulama ve bileşenlerini içerir.

Docker içindeki bazı komutların anlamları şu şekildedir:

'docker run' : Docker imajından yeni bir konteynır başlatır.
'docker build': Dockerfile kullanarak Docker imajı oluşturur.
'docker pull': Docker imajını uzaktan indirir.
'docker push': Docker imajını uzaktaki bir imaj deposuna yükler.
'docker stop': Çalışan bir konteynırı durdurur.
'docker exec': Çalışan bir konteynır içinde komut çalıştırır.
'docker rm': Durmuş olan bir konteynırı siler.
'docker images': Docker imajlarını listeler.
'docker ps': Çalışan konteynırları listeler.