Docker — Операции с проектами

Эта страница описывает базовые операции по управлению Docker-проектами на сервере: организацию директорий, работу с файлами проектов, изменение прав доступа и создание резервных копий. Материал рассчитан на начинающих и помогает понять, как правильно хранить и обслуживать несколько Docker-проектов на одном сервере, что особенно актуально для веб-студий и хостинга клиентских проектов.


Типичная структура проектов на сервере

На серверах с несколькими сайтами или сервисами Docker-проекты обычно размещаются в одной общей директории.

Пример структуры:

/opt/flamy_projects

Внутри неё располагаются отдельные проекты:

/opt/flamy_projects
│
├─ site1
│  ├─ docker-compose.yml
│  ├─ .env
│  ├─ Dockerfile
│  └─ src
│
├─ site2
│  ├─ docker-compose.yml
│  └─ src
│
└─ api_service
   ├─ docker-compose.yml
   └─ app

Каждый каталог — это отдельный Docker Compose проект.


Переход в директорию проекта

Перед выполнением большинства Docker-команд необходимо перейти в директорию проекта.

cd /opt/flamy_projects

Просмотреть содержимое папки:

ls -la

Когда используется

Эта команда помогает:


Поиск docker-compose файлов

Иногда на сервере много проектов, и нужно найти все compose-файлы.

find /opt/flamy_projects -type f -name "docker-compose*.yml"

Эта команда покажет:

Пример результата:

/opt/flamy_projects/site1/docker-compose.yml
/opt/flamy_projects/site2/docker-compose.yml
/opt/flamy_projects/api_service/docker-compose.yml

Когда полезно


Проверка файлов проекта

Перед запуском проекта полезно проверить содержимое директории.

ls -la

Пример:

docker-compose.yml
.env
Dockerfile
src/
logs/

Что важно проверить

Если файл docker-compose.yml отсутствует — проект запустить не получится.


Изменение владельца файлов

Иногда файлы проекта принадлежат неправильному пользователю. Это может происходить, если:

Исправить владельца можно так:

sudo chown -R Crimson:Crimson /opt/flamy_projects

Что означает команда

Часть Значение
chown изменить владельца
-R рекурсивно для всех файлов
Crimson:Crimson пользователь и группа

Назначение текущего пользователя владельцем

Иногда проще назначить владельцем текущего пользователя.

sudo chown -R $(id -u):$(id -g) /opt/flamy_projects

Что делают параметры

Команда Значение
id -u ID текущего пользователя
id -g ID текущей группы

Это позволяет быстро исправить проблемы с правами.


Изменение прав доступа

Иногда Docker или приложение не может читать файлы из-за неправильных прав.

Исправить можно так:

sudo chmod -R 755 /opt/flamy_projects

Что означает 755

Право Значение
7 чтение, запись, выполнение
5 чтение и выполнение
5 чтение и выполнение

В итоге:

Важно: Не стоит использовать 777, так как это даёт полный доступ всем пользователям и может быть небезопасно.


Резервное копирование проектов

Регулярное резервное копирование помогает защититься от:


Архивирование проекта

Создать архив можно с помощью tar.

tar -czf flamy_projects_backup_$(date +%Y%m%d).tar.gz /opt/flamy_projects

Что делает команда

Часть Значение
tar инструмент архивирования
-c создать архив
-z сжать через gzip
-f имя файла

Файл будет иметь имя вроде:

flamy_projects_backup_20260311.tar.gz

Резервное копирование через rsync

rsync позволяет копировать файлы между серверами или папками.

rsync -avz /opt/flamy_projects/ backup_location/

Что означают параметры

Параметр Назначение
-a архивный режим
-v подробный вывод
-z сжатие данных

Пример копирования на другой сервер

rsync -avz /opt/flamy_projects user@backup-server:/backup/docker_projects

Это часто используется для:


Проверка размера проекта

Иногда полезно узнать размер проекта.

du -sh /opt/flamy_projects/*

Пример вывода:

1.2G site1
850M site2
430M api_service

Это помогает определить:


Проверка логов проекта

Некоторые проекты сохраняют логи внутри директории.

Например:

logs/
storage/logs
var/log

Посмотреть последние строки:

tail -n 100 logs/app.log

Типичный рабочий процесс

Обычно работа с проектом выглядит так:

1 Перейти в директорию проекта

cd /opt/flamy_projects/site1

2 Проверить файлы

ls -la

3 Запустить контейнеры

docker compose up -d

4 Проверить контейнеры

docker compose ps

5 Проверить логи

docker compose logs --tail=50

Работа с несколькими проектами

На сервере может быть десятки проектов.

Чтобы понять, какие контейнеры запущены:

docker ps

Можно увидеть:

site1_nginx
site2_php
api_service_db

Это помогает быстро определить, какие проекты работают.


Полезные советы

Храните проекты в одной директории

Это упрощает:


Используйте .env файлы

В .env удобно хранить:


Делайте регулярные backup

Минимум раз в день для production-серверов.


Краткая памятка

cd /opt/flamy_projects                    # перейти в директорию проектов
ls -la                                    # список файлов

find /opt/flamy_projects -name "docker-compose*.yml"  # найти compose файлы

sudo chown -R user:user /opt/flamy_projects  # изменить владельца
sudo chmod -R 755 /opt/flamy_projects        # изменить права

tar -czf backup_$(date +%Y%m%d).tar.gz /opt/flamy_projects  # архив проекта

rsync -avz /opt/flamy_projects/ backup/      # резервная копия

du -sh /opt/flamy_projects/*                 # размер проектов

Revision #1
Created 2026-03-11 07:25:16 UTC by Crimson
Updated 2026-03-11 08:05:30 UTC by Crimson