18 Mart 2018 Pazar

Apahce sunucusunu Docker Container'ı içinde çalıştırma ve "Hello World" yazdırma

Merhaba,
bir önceki yazımda sizlere docker ile ubuntu image'ının nasıl oluşturulacağını paylaşmıştım. Bu yazımda da oluşturacağımız ubuntu image'ı üzerinde apache kurup bir docker container olarak çalıştıracağız.  Çalıştırdığımız container'a local bilgisayarımızdan index.html adında bir dosya gönderip bu index.html dosyasının içeriğini container/apache üzerinden yayınlayacağız.

ilk olarak terminali açıp çalışma dizinine giderek   Dockerfile adında bir dosya  oluşturun 

$ touch Dockerfile 

Dockerfile'ı açın ve apache kurulumu içini aşağıdaki şekilde güncelleyin
$ vi Dockerfile 

Dosya içeriği: 

FROM ubuntu:latest
MAINTAINER Levent YILDIZ <dev.levent.yildiz@gmail.com>
RUN apt-get update
RUN apt-get install -y apache2
COPY index.html  /var/www/html/
EXPOSE 80
CMD apachectl -D FOREGROUND 

-y: evet(YES) -> otomotik kurulum onayı için
expose 80 : 80. porttan yayın yapılacağı

Daha sonra içinde "Docker dan selamlar" yazan index.thml dosyasını oluşturun. Bu dosyayı container dan yayına alacağız.

$ touch index.html && echo  "Docker dan selamlar" > index.html 

Docker ile samplewebsite adında bir image oluşturun 

$ docker build -t leventyildiz/samplewebsite:1.0 . 

NOT : leventyildiz yerine kendi dockerID nizi yazmayı unutmayın. 

run komutu ile oluşturuğunuz image'ı container olarak çalıştırın 

 $ docker run -p 8088:80 leventyildiz/samplewebsite:1.0

-p 8088:80 ile lokalden 8088 olarak yapacağımız isteği container'ın 80 portuna yönlendirmesi içindir. 

Bu işlemden sonra web browser üzerinden "http://localhost:8088/" adresine gidin. Burada "Docker dan selamlar"  içeriğini göreceksiniz.

Oluşturduğunuz docker image'ı dockerHub'a göndermek için 

 $ docker push  leventyildiz/samplewebsite:1.0