1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ikam-docker-bt

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 19:42 9593b03

Запуск панели «Баота» в Docker для создания изолированной среды разработки

В Docker можно запустить панель «Баота», чтобы создать полностью изолированную среду разработки на локальном компьютере. Этот скрипт позволяет выполнить установку одним щелчком мыши.

После установки вы можете войти в панель администратора и установить необходимые компоненты. Процесс обновления панели и некоторые другие операции аналогичны установке на виртуальную машину Linux.

Этот скрипт установки основан на проекте ifui/baota и был немного доработан, чтобы лучше соответствовать привычкам использования.

Для монтирования локальных каталогов можно использовать символические ссылки. Это позволит связать каталог, в котором ранее находились ваши проекты, с каталогом wwwroot, который будет смонтирован в Docker. Команда для создания символической ссылки:

ln -sfv /Users/ieras/Sites /Users/ieras/bt/wwwroot

После создания символических ссылок необходимо остановить образ с помощью команды docker-compose stop app, а затем запустить его снова с помощью docker-compose up -d app && docker exec -it app /bin/zsh.

Использование образа по умолчанию на основе CentOS 7

Образ по умолчанию использует базовое изображение CentOS 7 и создаётся с использованием файла Dockerfile. Каждый раз при сборке образа сохраняется предыдущая информация. Однако если вы удалите том, то восстановить данные будет невозможно. В конфигурационном файле можно настроить имя пользователя и пароль по умолчанию.

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

Конфигурационный файл .env содержит подробные комментарии.

Данные сохраняются с использованием тома, имена томов — bt_www, bt_usr и bt_etc.

Обновление

2021-03-12:

  • Убраны DNS и хранилище данных для базы данных (что серьёзно влияет на производительность).
  • По умолчанию установлен zsh, что улучшает внешний вид при использовании iTerm внутри контейнера.
  • Процесс установки описан в install.jpg.

Как использовать

Рекомендуется использовать Linux или Mac для развёртывания, пользователям Windows этот инструмент вряд ли понадобится.

1. Установите git или загрузите zip-архив.

sudo yum install -y git

2. Перейдите в папку, где вы хотите создать проект, и выполните команду.

git clone https://gitee.com/ikam/docker-bt.git ./bt

3. Войдите в корневую папку проекта.

cd bt

4. Создайте конфигурационный файл.

cp .env-example .env

5. Запустите образ «Баота».

В корневой папке проекта выполните команду:

docker-compose up -d app

Или запустите и войдите в SSH (для повседневной разработки часто требуется работа в SSH):

docker-compose up -d app && docker exec -it app /bin/zsh

6. Проверьте информацию для входа по умолчанию.

docker-compose logs app

Также можно не проверять, так как в конфигурационном файле уже настроены имя пользователя и пароль.

Резервное копирование и миграция данных

1. После успешного развёртывания приложения и настройки всех необходимых компонентов выполните следующие шаги.

2. Запустите и войдите в контейнер app_backup. Все последующие команды выполняются в интерактивной командной строке этого контейнера.

docekr-compose stop
docekr-compose up -d app_backup
docekr-compose exec app_backup sh

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

После успешного выполнения команды в каталоге проекта на хост-машине в папке app_backup/export будет создан архив с данными под названием baota_backup_*.tar.gz.

sh /app_backup/export.sh

3.2 Миграция

Поместите архив с данными в папку app_backup/export и выполните команду. Следуйте инструкциям для завершения процесса миграции.

sh /app_backup/import.sh

Другие инструкции

Структура каталогов

  • app — содержит скрипт запуска образа «Баота» app.sh и файл Dockerfile.
  • app_backup — содержит скрипты резервного копирования и миграции данных. Также содержит файл Dockerfile, файлы export.sh и import.sh.
  • backup .env — можно настроить, по умолчанию используется каталог для резервного копирования панели «Баота».
  • wwwlogs .env — можно настроить, по умолчанию используется каталог журналов панели «Баота».
  • wwwroot .env — можно настроить, по умолчанию используется каталог веб-сайта панели «Баота». Рекомендуется размещать ваш сайт в этом каталоге.

Конфигурационный файл .env

Здесь можно настроить порт и каталог по своему усмотрению. Можно использовать значения по умолчанию, но рекомендуется настроить их в соответствии с вашими потребностями. Планы задач не могут автоматически выполняться, поскольку тестирование показало, что это невозможно реализовать.

Кроме того, не реализована возможность запуска процессов в /usr/sbin/init, поэтому планы задач не могут быть автоматически запущены.

# URL для установки панели «Баота»
BT_INSTALL_PATH=http://download.bt.cn/install/install_6.0.sh

# Имя пользователя панели «Баота»
BT_USERNAME=baota
# Пароль панели «Баота»
BT_PASSWORD=123456
# DNS (устарело, можно оставить без изменений)
DNS1=8.8.8.8
DNS2=114.114.114.114

# Драйвер
VOLUMES_DRIVER=local
# Bridge / host
NETWORKS_DRIVER=bridge

# Версия CentOS
CENTOS_VERSION=7

# Открытый порт
# Порт панели «Баота»
BT_PORT=8887
# Стандартный порт веб-сайта
WEB_PORT=80
# HTTPS-порт
HTTPS_PORT=443
# FTP-порт
FTP_PORT=21
# Порт передачи данных FTP
FTP_DATA_PORT=20
# SSH-порт
SSH_PORT=22000
# MYSQL-порт
MYSQL_PORT=3306
# Порт PhpMyAdmin
PHPMYADMIN_PORT=888
# Redis-порт
REDIS_PORT=6379
# Memcached-порт
MEMCACHED_PORT=11211

# XDEBUG
XDEBUG_PORT = 9003

# Путь
# Каталог веб-сайта по умолчанию
WEB_PATH=./wwwroot
# Журнал
LOGS_PATH=./wwwlogs
# Хранилище данных базы данных (устарело, серьёзно влияет на производительность, рекомендуется самостоятельно выполнять резервное копирование базы данных)
DATA_PATH=./data
# Резервное копирование панели «Баота»
BACKUP_PATH=./backup

Часто используемые команды

# Сборка образа
docker-compose build
# Не кэшировать сборку, после выполнения команды информация для входа изменится
docker-compose build --no-cache
# Просмотр состояния выполнения
docker-compose ps
# Запуск образа панели «Баота»
docker-compose up -d app
# Запуск образа панели «Баота» и вход в командную строку
docker-compose up -d app && docker exec -it app /bin/zsh
# Запуск системы резервного копирования данных панели «Баота»
docker-compose up -d app_backup
# Запуск всего
docker-compose up -d
# Остановка выполнения
docker-compose stop app
# Удаление контейнеров и томов данных
docker-compose down --volumes
# Список всех томов данных
docker volume ls
# Удаление нескольких томов данных по имени
docker volume rm volume_name volume_name

Благодарности

Если у вас есть предложения по улучшению или возникли вопросы, пожалуйста, оставьте комментарий. Я постараюсь ответить на вопросы и учесть предложения! Также надеюсь, что кто-нибудь сможет предложить решение для запуска панели «Баота» в режиме /usr/sbin/init.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/ikam-docker-bt.git
git@api.gitlife.ru:oschina-mirror/ikam-docker-bt.git
oschina-mirror
ikam-docker-bt
ikam-docker-bt
master