Docker & Portainer Kurulumu
Translate This Page:
Bu Makale Ubuntu 22.04 sunucum üzerine docker, docker compose ve Portainer docker UI Management aracının kurulumunu inceleyeceğiz.
Linux Server Hazırlığı?
Docker kurulum öncesi Linux makinemin versiyon bilgilerini kontrol ediyorum.
lsb_release -a
Linux Makinemin tüm güncellemelerini yüklüyorum.
sudo apt update -y && sudo apt upgrade -y
Kurulumun sorunsuz bir şekilde devam etmesi için makinemizde bazı paketlerin yüklenmesi gerekiyor, bunları yüklemek için aşağıdaki komutu çalıştırın:
sudo apt install apt-transport-https curl gnupg-agent ca-certificates software-properties-common -y
Docker Kurulumu?
Install Docker on Ubuntu 22.04
Açık kaynak ve indirmesi, kullanması ücretsiz olan Docker Community Edition’ı ( Docker CE ) kuracağız. Bunu yapmak için GPGK anahtarını ekleyeceğiz.
Aşağıdaki komutla bu anahtarı ekliyoruz.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Docker Repostory sini ekliyoruz.
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
GPG anahtarı ve depo eklendiğinde, Docker’ı ve ilgili paketleri yüklemek için aşağıdaki komutu çalıştırıyoruz.
sudo apt install docker-ce docker-ce-cli containerd.io -y
Bu kurulum docker ve docker için gerekli tüm kütüphaleri ve bağımlı olduğu uygulamaları yükleyecektir.
Docker Komutunu Sudo Olmadan Yürütme (Opsiyonel)
Docker komutunu her çalıştırdığınızda sudo yazmaktan kaçınmak istiyorsanız, kullanıcı adınızı docker grubuna eklemeniz gerekiyor.
Varsayılan olarak, docker komutu yalnızca kök kullanıcı tarafından veya Docker’ın kurulum işlemi sırasında otomatik olarak oluşturulan docker grubundaki bir kullanıcı tarafından çalıştırılabilir. Docker komutunu sudo öneki olmadan veya docker grubunda olmadan çalıştırmayı denerseniz,
şöyle bir çıktı alırsınız:
Output docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?. See 'docker run --help'.
Docker komutunu her çalıştırdığınızda sudo yazmaktan kaçınmak istiyorsanız, kullanıcı adınızı docker grubuna ekleyin:
sudo usermod -aG docker ${USER}
Yeni grup üyeliğini uygulamak için sunucudan çıkış yapın ve tekrar giriş yapın veya aşağıdakini yazın:
newgrp docker su - ${USER}
Artık Docker komutlarını herhangi bir zorlukla karşılaşmadan normal bir kullanıcı olarak çalıştırabilirsiniz.
Docker Kurulum Check
Aşağıdaki komutla docker verisyonumuzu kontrol ediyoruz.
docker version
Aşağıdaki komutlarla docker hakkında daha fazla bilgi alabilirsiniz.
$docker info $docker docker-subcommand --help
Bir test kontainer ı çalıştırarak kontrolümüzü yapıyoruz.
docker run hello-world
serdar@docker01:~$ docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:6e8b6f026e0b9c419ea0fd02d3905dd0952ad1feea67543f525c73a0a790fefb Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/ serdar@docker01:~$
Portainer Kurulumu
Portainer Docker Containerları bir web arayüzü üzerinden yönetmemizi sağlayan açık kaynak bir araçtır. Portainer, Kubernetes, Docker/Swarm ve Nomad için bir Evrensel Konteyner Yönetim Sistemidir ve yazılımı çok daha çevik ve esnek bir şekilde sunabilmeniz için konteyner operasyonlarını basitleştirir.
Artık Portainer’ı Ubuntu 22.04’e kurabiliriz. Bu süreç sadece birkaç adımı içeriyor.
- Portainer Server’ın veritabanını depolamak için kullanacağı volüme ü oluşturma
- Portainer serverı indirip kurma işlemi.
Docker üzerinden bir volume oluşturuyoruz.
docker volume create portainer_data
#inspect komutuyla detaylarını görüntüleyebilirsiniz. docker volume inspect portainer_data
Aşağıdaki komutla portainer kurulumunu başlatıyoruz “-p” parametresiyle portainer uygulamama 9000 portundan yayın yapacağını söylüyorum.
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
Kullanılan parametrelerin açıklamalarını aşağıda bulabilirsiniz.
- docker run Temel containerı başlat komutudur
- -d detach anlamına gelir. Uygulamanın arka planda çalışmasını sağlar.
- -p expose UI over the port 9000, portainer GUI will be at URL hostname:9000
- –name=portainer containera verdiğimiz isimdir bu komutta container adı: portainer
- –restart=always always restart Portainer (bir çökmeden sonra veya makine veya arka plan programı yeniden başlatıldığını söyler.)
- -v /var/run/docker.sock:/var/run/docker.sock mounts the volume /var/run/docker.sock from the host machine to the Portainer ontainer. /var/run/docker.sock is actually the Docker daemon socket. Portainer needs this socket to get Docker status.
- -v portainer_data:/data volümün nereye (hangi dizine) mount edileceğini belirtiyoruz
- portainer/portainer-ce hangi imajdan container oluşturlacağını seçiyoruz Portainer Community Edition image.
Kurulumumuz tamamlandı http://dockerHost-IP:9000 yazarak portainer uygulamamıza erişim sağlıyoruz.
Portainer ilk başladığında sizden bir şifre belirlemenizi ister. Parola en az 12 karakter olmalıdır.
Şifre girildikten sonra, tarayıcıda aşağıdaki sayfa görünecektir.
Get Started’ı seçin (başka bir ortama bağlanmanız gerekmiyorsa). Sizi aşağıdaki ekran karşılayacaktır.
Portainer arayüzü üzerinden docker platformunuzu yönetmeye başlayabilirsiniz.
Portainer Özel SSl Sertifikası Kurulumu
Varsayılan olarak Portainer, containerlar birlikte kendinden imzalı bir sertifika yükler. Ancak, kurulum sırasında veya kurulumdan sonra GUI’yi kullanarak özel bir SSL sertifikası kurabilirsiniz böylece “https://portainer.serdarbayram.net” gibi bir alan adı üzerinden portala erişim sağlayabilirsiniz.
Container sağlanırken uygun bir sertifika yüklemek için gerekli parametrelerin iletilmesi gereken komutlar aşağıdadır:
docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 \ --name=portainer --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:2.11.1 \ --sslcert /path/to/cert/portainer.crt \ --sslkey /path/to/cert/portainer.key
Portainer kurulumu tamamlanmıştır.