Docker ve container hosting kavramları yayılmaya devam ediyor , Bu kapsamda docker ın PhotonOs üzerinde kurulumunu ele alacağım.
Öncelikle aşağıdaki adresten Photon Os full iso yu indiriyorum.
https://dl.bintray.com/vmware/photon/iso/1.0TP2/x86_64/photon-1.0TP2.iso
Sonra vcenter ım üzerinden yeni bir sanal makina oluşturup indirdiğim iso ile boot ediyorum , buraya kadar detay vermeye gerek yok sanırım , kurulum başlangıç ekranı aşağıdaki gibi olacaktır.
Lisans anlaşmasını onaylamamız gerekecek.
Ben test için 50 Gb lık bir disk vermiştim, aşağıdaki ekran beni karşılıyor ve enter a basarak geçiyorum.Diskin içini sileceğini söylüyor ve Y harfine basarak onay veriyorum.
Bir sonraki ekran kurulum seçenekleri sormakta , screen shot a gerek duymadım, ben full diyerek geçtim.sonrasında bir hostname istiyor , bu tercih Size kalmış, en son olarak ta bir şifre belirlemenizi isteyecek.
Kurulum 220 sn sürdü , sunucu tekrar başlatıldı ve şimdi root kullanıcı adı ve belirlediğim şifre ile işletim sisteminin içindeyim.
Şimdi benim ortamımda dhcp yok , dolayısı ile bir ip adresi kayıtlı değil ve bu neden ile ssh erişimi de yapamıyorum , o halde bir ip adresi verelim.
Öncelikle mevcut dhcp config dosyasını static ismi ile kopyalıyorum. Önce bir ifconfig çıktımıza bakalım.
iki interface görüyorum , biri eno16777728 , diğeri ise lo (loopback)
O halde komutum şu olmalı.
root [ ~ ]# mv /etc/systemd/network/10-dhcp-en.network /etc/systemd/network/10-static-eno16777728.network
Yani 10-dhcp-en.network dosyasının adını 10-static-eno16777728.network olarak değiştirdik.
Şimdi bu dosyamızı açalım.
root [ ~ ]# nano /etc/systemd/network/10-static-eno16777728.network
İçinde aşağıdaki değişiklikleri yapalım ya da içini silelim aşağıdaki örnein aynısını ip adresi ve interface adını değiştirerek yapalım. Ben aslında public ip verdim ama ip range imin belli olmaması için örnekte local ip vermiş gibi yazıyorum.
[Match]
Name=eno16777728
[Network]
Address=192.168.1.10/24
Gateway=192.168.1.1
DNS=8.8.8.8
Domains=photonos.local
Ip verdiğimize göre şimdi network servisini tekrar başlatabiliriz.
root [ ~ ]# systemctl restart systemd-networkd-service
Şimdi ssh a girebilir durumda mıyız? Tabiki hayır , öncelikle ssh config dosyamızda root girişine izin verelim.
root [ ~ ]# nano /etc/ssh/sshd_config
Bu dosya da #PermitRootLogin yes gördüğünüz kısmı PermitRootLogin yes olarak değiştiriniz. Yani başındaki diez i kaldırıp enable edin ve kaydedin. Şimdi ssh servisimizi başlatabiliriz.
root [ ~ ]# systemctl start sshd
Artık sunucumuza verdiğimiz ip ile ssh 22 nolu porttan bağlanabiliriz.
Şimdi docker daemon unu başlatmanın vakti geldi.
root [ ~ ]# systemctl start docker
root [ ~ ]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
root [ ~ ]# systemctl status docker
* docker.service – Docker Daemon
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
Active: active (running) since Wed 2016-03-23 12:48:42 UTC; 33s ago
Main PID: 429 (docker)
Hemen test için bir nginx container ı aktif etmeye ne dersiniz?
root [ ~ ]# docker run -d -p 80:80 vmwarecna/nginx
Unable to find image ‘vmwarecna/nginx:latest’ locally
latest: Pulling from vmwarecna/nginx
511136ea3c5a: Pull complete
e977d53b9210: Pull complete
c9fa20ecce88: Pull complete
184d60f5cc4f: Pull complete
96d31e36bd8a: Pull complete
fd2224b9a216: Pull complete
7f3a2bd1e995: Pull complete
4c4851e85e94: Pull complete
560d74bc7ae1: Pull complete
07f0aa77ae76: Pull complete
126105e511b8: Pull complete
775024331ffa: Pull complete
db26ae25be15: Pull complete
6d36a12c92d5: Pull complete
Digest: sha256:f73bbae0f31823c06478b1fa5efb4957bc25239802fd5ea94e4442c0a6090d23
Status: Downloaded newer image for vmwarecna/nginx:latest
d3adea692a100ce4020a91018c17433cdd4aedc90e8cd446a9845279059311aa
Mevcut çalışan containerlarımıza bir bakalım.
root [ ~ ]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d3adea692a10 vmwarecna/nginx “nginx -g ‘daemon off” 24 seconds ago Up 23 seconds 0.0.0.0:80->80/tcp, 443/tcp sleepy_wright
Şimdi browserdan ip adresini yazıp bir test edelim.
Artık elimizde nginx çalışan bir container var.
Peki bu container ları web üzerinden yönetebilir miyiz?
Tabiki evet, DockerUi Kurulumundan bahsedelim.
root [ ~ ]# docker run -d -p 9000:9000 –privileged -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui
Unable to find image ‘dockerui/dockerui:latest’ locally
latest: Pulling from dockerui/dockerui
706db4235055: Pull complete
84f978a622ba: Pull complete
95c8b9dc91e0: Pull complete
Digest: sha256:4bfb5b2498e98baaa4e1fd0e12e9022d0b1eb5d79fd68ee7751941bac7fcfed3
Status: Downloaded newer image for dockerui/dockerui:latest
a45c12f8abcbde61f7f759b626127a3672aa5ddef4115da2a6ccfeef563214b6
root [ ~ ]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a45c12f8abcb dockerui/dockerui “/dockerui” 4 seconds ago Up 3 seconds 0.0.0.0:9000->9000/tcp happy_raman
Şimdi browserdan ip adresiniz ve 9000 nolu port ile dockerui arayüzüne erişebilirsiniz.
Örnek : http://192.168.1.10:9000
Vakit oldukça devamını bu konu ya da farklı bir yazı da getireceğim.
Ayhan ARDA
Bir yanıt yazın