Merhaba,
bu yazımda sizlere bir docker container'a SSH ile container dışından nasıl bağlanılacağını anlatacağım. Yani SSH servisini docker ortamında çalıştırmayı(Dockerize SSH service) ve daha sonra bu servise terminal den erişimi göstereceğim.
Yapılacak işlemleri iki adımda özetlemek gerekirse;
- ilk olarak Dockerfile aracılığıyla ubuntu image'ı oluşturup bu image'ı container olarak çalıştıracağız.
- ikinci olarak ta çalıştırdığımız container'a SSH connection'ı yapacağız.
Dockerfile adında bir dosya oluşturup bu dosyayı düzenlemek için açın
$ touch Dockerfile && vi Dockerfile
|
Ubuntu image'ı oluşturmak için aşağıdaki satıları bu dosyaya ekleyin
FROM ubuntu:latest
MAINTAINER Levent YILDIZ <dev.levent.yildiz@gmail.com> |
server1 adında bir docker yükü(image) oluşturun
$ docker build -t leventyildiz/server1:0.1 .
|
Oluşturduğunuz image'ı aşağıdaki komut ile çalıştırın
$ docker run -it leventyildiz/server1:0.1 bash
|
Varsayılan olarak işletim sisteminde tanımlı olmayan aşağıdaki komutları bu container da çalıştırmayı denediğinizde
"command not found" mesajını göreceksiniz
İşletim sistemini update edin
Update işleminden sonra varsayılan olarak gelmeyen "net-tools", "iproute2", "iputils-ping", "openssh-server" paketlerini kurun
$ apt-get install net-tools iproute2 iputils-ping openssh-server |
Bu kurulum işleminden sonra tekrar
"ip r l " komutunu çalıştırarak cihazın IP adresini görebilirsiniz
SSH bağlantısı esnasında kullanılmak üzere "passwd" komutu ile root user şifresi oluşturun
sed ile sshd_config dosyasını güncelleyerek PermitRootLogin'e izin verin
$ sed -i '/^PermitRootLogin/s/no/yes/' /etc/ssh/sshd_config
$ sed -i '/^PermitRootLogin/s/prohibit-password/yes/' /etc/ssh/sshd_config |
Değişiklikleri algılaması için ssh servisini restart edin
$ /etc/init.d/ssh stop && /etc/init.d/ssh start |
Ssh kurulumu işleminden sonra container'ın Ip adresini ve diğer network bigilerini görüntüleyip bu cihaza SSH bağlantısı yapabilirsiniz.
Terminal den yeni bir tab açarak bu container'a SSH bağlantısı yapın
SSH bağlantısından sonra cihaz(container) üzerinde bulunduğunuz dizini görüntüleyin
Hiç yorum yok:
Yorum Gönder