Docker Nedir ve Neden Kullanılır?
Örneğin, bir uygulama geliştiriyorsunuz ve bir bilgisayarda sorunsuz çalışıyor. Ancak, başka bir bilgisayarda aynı uygulamayı çalıştırdığınızda sorunlarla karşılaşıyorsunuz. Docker ile bu tür sorunları ortadan kaldırarak uygulamanızın her yerde aynı şekilde çalışmasını sağlayabilirsiniz.
Docker’ı Linux’a Kurmak
```bash
sudo apt-get update
sudo apt-get upgrade
```
Sonrasında, Docker'ı kurmadan önce gerekli paketleri yükleyelim.
```bash
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
```
Şimdi, Docker'ın GPG anahtarını sistemimize ekleyelim:
```bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
```
Docker’ın resmi deposunu eklemek için şu komutu kullanıyoruz:
```bash
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
```
Tekrar paket listelerini güncelleyelim:
```bash
sudo apt-get update
```
Docker'ı kurmak için aşağıdaki komutu çalıştırıyoruz:
```bash
sudo apt-get install docker-ce
```
Kurulum tamamlandığında, Docker servisinin çalıştığından emin olmak için şu komutu kullanabiliriz:
```bash
sudo systemctl status docker
```
Eğer Docker başarılı bir şekilde kurulduysa, terminalde Docker sürüm bilgisini kontrol edebilirsiniz:
```bash
docker --version
```
Docker ile İlk Container'ınızı Çalıştırma
```bash
sudo docker run hello-world
```
Bu komut, Docker’ın doğru bir şekilde kurulduğunu ve çalıştığını test eder. Eğer her şey yolunda giderse, terminalde bir "Hello World" mesajı göreceksiniz.
Docker İmajları ve Container'lar
Docker Hub, Docker imajlarının saklandığı ve paylaşıldığı bir platformdur. Burada binlerce imaj bulabilirsiniz. Örneğin, bir web uygulaması geliştiriyorsanız, aşağıdaki komutla Nginx’in en son sürümünü çekebilirsiniz:
```bash
sudo docker pull nginx
```
İmajı çektikten sonra, bu imajı bir container olarak çalıştırmak için şu komutu kullanabilirsiniz:
```bash
sudo docker run -d -p 80:80 nginx
```
Bu komut, Nginx web sunucusunu çalıştıracak ve web tarayıcınızda localhost üzerinden erişebilirsiniz.
Docker Container Yönetimi
```bash
sudo docker ps
```
Eğer durdurulmuş container’ları da görmek isterseniz:
```bash
sudo docker ps -a
```
Bir container’ı durdurmak için şu komutu kullanabilirsiniz:
```bash
sudo docker stop [container_id]
```
Container’ı silmek için ise:
```bash
sudo docker rm [container_id]
```
Docker ile Uygulama Geliştirme
Örneğin, bir veritabanı ve web uygulaması çalıştırmak istiyorsanız, aşağıdaki gibi bir `docker-compose.yml` dosyası oluşturabilirsiniz:
```yaml
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
```
Sonrasında, bu dosyayı kullanarak her iki container’ı bir arada başlatabilirsiniz:
```bash
sudo docker-compose up
```
Sonuç
Artık Docker ile Linux’ta uygulama geliştirme konusunda temel bilgilere sahipsiniz. Hadi, Docker’ı kullanarak ilk projelerinizi oluşturmaya başlayın!