Ръководство за създаване на Docker image и качване в Docker Hub

Ръководство за създаване на Docker image и качване в Docker Hub

Docker е мощен инструмент, който ни позволява да пакетираме и разпространяваме софтуерни приложения като контейнери, които са леки, преносими и консистентни в различни среди.

В тази статия ще разгледаме подробно как да създадем Docker image за уеб сайт и как да го качим в Docker Hub за споделяне с други.

Стъпка 1: Подготовка на проекта

Първо, уверете се, че проектът ви е готов за създаване на Docker образ. Уверете се, че имате всички необходими файлове, включително всички активи, които са част от вашият уеб сайт (например HTML, CSS, JavaScript файлове), както и Dockerfile, .dockerignore и други конфигурационни файлове, които може да са необходими.

Стъпка 2: Създаване на Dockerfile

Следващата стъпка е създаването на Dockerfile, който ще дефинира как да се създаде Docker образът за вашата уеб страница. Ето пример за базов Dockerfile:

# Използвайте официален PHP образ с Apache
FROM php:7.4-apache

# Активирайте необходимите модули на Apache
RUN a2enmod rewrite

# Копирайте входния скрипт в /usr/local/bin и го направете изпълним
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh

# Копирайте файловете на приложението в корена на документа на Apache, с изключение на файловете в .dockerignore
COPY  fed.php index.php favicon.ico uploads /var/www/html/

# Задайте подходящи разрешения
RUN chown -R www-data:www-data /var/www/html

# Expose port 80
EXPOSE 80

# Use entrypoint script
ENTRYPOINT ["entrypoint.sh"]

Стъпка 3: Създаване на .dockerignore файл

Създайте файл с име “.dockerignore” в директорията на вашия проект, ако вече не сте го направили. В този файл посочете всички файлове и директории, които трябва да бъдат игнорирани при копирането в Docker образа.

Примерен .dockerignore файл:

Dockerfile

Стъпка 4: Създаване на entrypoint скрипт (по избор)

Ако е необходимо, можете да създадете entrypoint скрипт, който да се изпълни при стартиране на контейнера. Този скрипт може да съдържа допълнителни настройки или конфигурации за вашето приложение.

Примерен entrypoint.sh файл:

#!/bin/bash

# Create the notes directory if it does not exist
if [ ! -d "/var/www/html/uploads" ]; then
    mkdir -p /var/www/html/uploads
fi

# Set the ownership to www-data for the notes directory
chown -R www-data:www-data /var/www/html/uploads

# Start Apache server
apache2-foreground

Стъпка 5: Създаване на Docker образ

След като сте подготвили всички необходими файлове, изпълнете следната команда в терминала, за да създадете Docker образ:

docker build -t <име_на_образа>:<версия> .

Стъпка 6: Влизане в Docker Hub

Преди да качите вашия образ в Docker Hub, трябва да влезете във вашия акаунт на Docker Hub с командата:

docker login

Стъпка 7: Качване на Docker образ в Docker Hub

След като сте влезли в Docker Hub, използвайте следната команда, за да качите вашият Docker образ:

docker push <име_на_образа>:<версия>

Това е! Вашият Docker образ е успешно качен в Docker Hub и може да бъде споделян и използван от други потребители или проекти.

Заключение

Създаването на Docker образ и качването му в Docker Hub е лесен начин за споделяне и разпространение на вашите приложения. Следвайки тези стъпки, вие можете бързо и лесно да създадете и споделите вашият уеб сайт с Docker контейнери.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: