ამ სტატიაში განვიხილავთ, როგორ დავაყენოთ Nginx Docker Compose-ის გამოყენებით ჰოსტ სერვერზე და დავაკონფიგურიროთ ისე, რომ შესაძლებელი იყოს index.html ფაილის დათვალიერება ბრაუზერში პორტზე 9999.
Docker და Docker Compose-ის ინსტალაცია
სანამ დავიწყებთ, დარწმუნდით, რომ თქვენს ჰოსტ სერვერზე დაყენებულია Docker და Docker Compose. თუ ისინი ჯერ არ არის დაყენებული, შეგიძლიათ დააყენოთ ისინი ინსტრუქციების მიხედვით Docker Centos 7-ისთვის და Ubuntu 20.04-ისთვის და Docker Compose.
index.html ფაილის შექმნა ჰოსტ სერვერზე
პირველი ნაბიჯი არის index.html ფაილის შექმნა ჰოსტ სერვერზე. ჩვენ გამოვიყენებთ მას Nginx-ის დემონსტრაციისთვის, როდესაც მას Docker კონტეინერში გავუშვებთ. შეგიძლიათ შექმნათ ეს ფაილი ნებისმიერ ადგილას ჰოსტ სერვერზე, სადაც გაქვთ წერის უფლებები. ამ მაგალითში ჩვენ შევქმნით მას დირექტორიაში /var/www/html.
შეასრულეთ შემდეგი ბრძანება დირექტორიის შესაქმნელად და მასში გადასასვლელად:
mkdir -p /var/www/html && cd /var/www/html
შევქმნათ index.html ფაილი
vim index.html
ჩავწეროთ მასში ქვემოთ მოცემული კოდი:
<!DOCTYPE html>
<html>
<head>
<title>Hello, Nginx!</title>
</head>
<body>
<h1>Hello, Nginx!</h1>
<p>This is a test page served by Nginx in a Docker container.</p>
</body>
</html>
შეინახეთ ფაილი თქვენთვის მოსახერხებელ ნებისმიერ ადგილას ჰოსტ სერვერზე. ამ მაგალითში ჩვენ შევინახავთ ფაილს დირექტორიაში /var/www/html.
docker-compose.yaml ფაილის შექმნა
ჩვენ უნდა შევქმნათ docker-compose.yaml ფაილი, რომელშიც განისაზღვრება Nginx კონტეინერი და მისი კონფიგურაცია. ეს ფაილი შეგიძლიათ შექმნათ ნებისმიერ ადგილას ჰოსტ სერვერზე, სადაც გაქვთ წერის უფლებები. ამ მაგალითში ჩვენ შევქმნით მას დირექტორიაში /opt/nginx.
შეასრულეთ შემდეგი ბრძანება დირექტორიის და ფაილის შესაქმნელად:
mkdir -p /opt/nginx && cd /opt/nginx
vim /opt/nginx/docker-compose.yaml
დაამატეთ შემდეგი შინაარსი docker-compose.yaml ფაილში:
version: '3'
services:
nginx:
image: nginx:latest
ports:
- "9999:80"
volumes:
- /var/www/html:/usr/share/nginx/html
restart: always
სადაც:
services - განსაზღვრავს სერვისების სიას, რომელთა გაშვებაც გვინდა Docker Compose-ის გამოყენებით.
nginx - არის სერვისის სახელი, რომლის გაშვებაც გვინდა.
image - განსაზღვრავს Docker-ის იმიჯს, რომლის გამოყენებაც გვინდა. ამ შემთხვევაში ჩვენ ვიყენებთ Nginx-ის ოფიციალურ იმიჯს, რომელიც მონიშნულია latest ტეგით.
ports - განსაზღვრავს პორტების მეპინგს ჰოსტ მანქანასა და კონტეინერს შორის. ამ შემთხვევაში ჩვენ ვმაპავთ პორტ 9999-ს ჰოსტ მანქანაზე პორტ 80-ზე კონტეინერში.
volumes - განსაზღვრავს ტომს, რომლის გამოყენებაც გვინდა მონაცემების შესანახად კონტეინერში. ამ შემთხვევაში ჩვენ ვმონტირებთ დირექტორიას /var/www/html ჰოსტ მანქანაზე დირექტორიაში /usr/share/nginx/html კონტეინერში.
restart - განსაზღვრავს, უნდა თუ არა Docker-ს ავტომატურად გადატვირთოს კონტეინერი, თუ ის შეჩერდა. ამ შემთხვევაში ჩვენ ვუთითებთ, რომ კონტეინერი ყოველთვის უნდა გადატვირთოს.
Docker Compose-ის გაშვება
ახლა მზად ვართ Nginx კონტეინერის გაშვებისთვის Docker Compose-ის გამოყენებით. ამისთვის შეასრულეთ შემდეგი ბრძანება დირექტორიიდან, სადაც მდებარეობს docker-compose.yaml ფაილი:
docker-compose up -d
ეს ბრძანება გაუშვებს Nginx კონტეინერს ფონურ რეჟიმში და გამოიტანს მის ID-ს.
შეამოწმეთ, გაშვებულია თუ არა ეს კონტეინერი ბრძანებით:
docker-compose ps
Nginx-ის მუშაობის შემოწმება
ახლა შეგვიძლია შევამოწმოთ Nginx-ის მუშაობა, ვებ-ბრაუზერის გახსნით და მისამართზე გადასვლით http://<ჰოსტ სერვერის მისამართი>:9999. ჩვენს მაგალითში ეს იქნება http://IP:9999.
თუ ყველაფერი სწორად არის კონფიგურირებული, უნდა ნახოთ გვერდი "Hello, Nginx!".
ეს არის ყველაფერი! ახლა შეგიძლიათ გამოიყენოთ Docker Compose Nginx-ის და სხვა აპლიკაციების კონტეინერების სამართავად თქვენს ჰოსტ სერვერზე.
ჩვენ ასევე გთავაზობთ სხვა სასარგებლო სტატიებს:
- List of important commands for working with Docker-compose
- How to install Nginx in Docker-Compose
- How to Deploy Any Version of PHP in Docker-Compose