Selamlar, uzun zaman oldu görüşmeyeli. İki yıl kadar :)
Bu paylaşımda Vagrant ile sanal bir sunucu kurup (Centos 7.4), bu sunucu üzerinde iki docker container oluşturup, Django Framework ve reverse proxy konfigürasyonu yapılmış nginx kurulumları yapacağız.
Kurulum yapılan ortam: Ubuntu MATE "18.04.2" LTS
Hızlıca kurulum adımlarını listeliyorum.
1-) VAGRANT KULLANARAK SANAL MAKİNE OLUŞTURMAK
a) sudo su
b) lsb_release -a
c) apt-get update && apt-get install virtualbox && apt-get install vagrant
d) vagrant version
e) mkdir ~/vagrant_barikat
f) cd vagrant_barikat
g) vagrant init centos/7h) vagrant up
i) vagrant ssh
j) virtualbox
2-) SANAL MAKİNEDE DOCKER SERVİS KURULUMU ve KONTEYNER OLUŞTURMA
- ssh vagrant@localhost -p 2222 -i
/home/mocal/vagrant_barikat/.vagrant/machines/default/virtualbox/private_key
- sudo su
- yum install -y yum-utils device-mapper-persistent-data lvm2
- yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
- yum install docker-ce docker-ce-cli containerd.io
- systemctl enable docker
- systemctl start docker
- docker run hello-world
Nginx docker container
- docker pull nginx
- network create --subnet=172.18.0.0/16 mocalnet
- docker run --name nginx -d nginx
- docker cp nginx:/etc/nginx /home/vagrant/nginx
- yum install nano
- nano /home/vagrant/nginx.conf
- mkdir sites-enabled
- nano sites-enabled/app1
- cd ~
- touch hosts
- nano hosts
- docker run -d -m 75MB --oom-kill-disable --memory-swappiness=0 --name nginx -v/home/vagrant/hosts:/etc/hosts -v /home/vagrant/nginx.conf:/etc/nginx/nginx.conf:ro -v
/home/vagrant/sites-enabled:/etc/nginx/sites-enabled -h nginx --net mocalnet --ip 172.18.0.2 -p 8080:80 nginx - docker ps
Django docker container
• python –version
• pip –version
• pip install django
• python -c "import django; print(django.get_version())"
• django-admin startproject mocal
• cd mocal
• nano requirements.txt
• pip –version
• pip install django
• python -c "import django; print(django.get_version())"
• django-admin startproject mocal
• cd mocal
• nano requirements.txt
• nano Dockerfile
• cd mocal
• nano setttins.py --> ALLOWED_HOSTS = ['127.0.0.1',’app-1’]
#!/bin/sh
#author: Mehmet ÖCAL
while true
do
#
echo "" > /root/system.log
date=`date "+%d-%m-%Y"`
time=`date +%H:%M:%S`
ram=`free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'`
disk=`df -h | awk '$NF=="/"{printf "Disk Usage: %d/%dGB (%s)\n", $3,$2,$5}'`
cpu=`top -bn1 | grep load | awk '{printf "CPU Load: %.2f\n", $(NF-2)}'`
echo -e "$date\n \
$time\n \
$ram\n \
$disk\n \
$cpu\n " >> /root/system.log
#
a=`free -m | awk 'NR==3{printf "Memory Usage: %s/%sMB %.f\n", $3,$2,$3*100/$2 }' | awk '{ print $4}'`
if [ $a -ge 40 ]; then
echo "Swap alan temizleniyor `sh -c "sync; echo 3 > /proc/sys/vm/drop_caches" && sh -c "swapoff -a && swapon -a"`" >>
/root/system.log
else
echo "Swap alan normal" >> /root/system.log
fi
sleep 5
done
-----------------------------------------------------------------------------------------
• nano watchdog2.sh
• nano /etc/systemd/system/watchdog.service
• systemctl daemon-reload
• systemctl enable watchdog.service
• systemctl start watchdog.service
• systemctl status watchdog.service
• tail -f /root/system.log
Bir başka paylaşımda görüşmek üzere. Kendinize iyi bakın.
Hiç yorum yok:
Yorum Gönder