HG_DNMP — это аббревиатура, обозначающая набор программного обеспечения: Docker, Nginx, MySQL 5.7 и PHP 7/5.
Но мы не только поддерживаем эту функциональность. HG_DNMP представляет собой полнофункциональную программу установки «под ключ» для DNMP. Она также поддерживает Redis, PostgreSQL, Confluence, Gitlab и другие.
Этот проект можно использовать как в среде разработки, так и в качестве серверной части производственной среды. Кроме того, он является отличным примером для изучения Docker.
В рамках проекта, при условии соблюдения стандартов, мы стараемся использовать разные подходы к написанию кода для облегчения изучения Docker.
Соглашения:
По умолчанию предоставляются сертификаты для домена *.default.com. Если проект используется в локальной среде разработки, рекомендуется изменить файл hosts на текущем компьютере в соответствии с соглашением. Для использования в производственной среде, после изменения файлов конфигурации в conf/conf.d и выполнения установки, избегайте повторных изменений.
Файлы виртуальных хостов nginx в каталоге conf/conf.d следует удалить или отредактировать перед установкой, чтобы избежать ошибок nginx после установки.
PHP предоставляет два способа создания образов: на основе Debian и Alpine. По умолчанию используется Alpine, но если расширения PHP не поддерживаются в Alpine, можно использовать образ Debian для компоновки. Пример можно найти в docker-compose.yml для php72-debian.
На момент выпуска версия Alpine для PHP 7.4.1 не поддерживает библиотеку GD.
Адреса соглашений:
Чтобы ускорить загрузку из Китая, все пакеты программного обеспечения размещены в корневом каталоге src. Загрузите их с Baidu Pan и поместите в корневой каталог. Ссылка для скачивания: https://pan.baidu.com/s/1dkEz_BZJo1901fxWTFxiXA. Код извлечения: 6eao.
Каталог содержит следующие элементы:
../hg_dnmp/
├── build Файлы сборки проекта
│ ├── certbot
│ ├── confluence
│ ├── gitlab
│ ├── mongo
│ ├── php Альпийские образы PHP
│ └── redis
├── centos7-optimizer.sh Скрипт оптимизации для CentOS 7
├── conf Конфигурационные файлы
│ ├── conf.d Nginx пользовательские каталоги сайтов
│ │ ├── certs Каталоги сертификатов HTTPS
│ ├── mysql.cnf Конфигурационный файл MySQL
│ ├── nginx.conf Конфигурационный файл Nginx
│ ├── php Конфигурационный файл PHP
│ └── redis.conf Конфигурационный файл Redis
├── docker-allip
├── docker-compose-Darwin.yml Файл docker sync для Mac OS
├── docker-compose-Linux.yml Файл docker sync для Linux
├── docker-compose.yml
├── docker-sync.yml
├── include
├── logs Журнальные файлы
├── README.md
├── snapshot
└── src Исходные файлы установки - сокращение времени установки за счёт предварительной загрузки (если изменяется версия программного обеспечения, рекомендуется заранее загрузить и поместить сюда)
git
, docker
и docker-compose
.Пользователи CentOS 7 могут использовать предоставленный скрипт centos7-optimizer.sh для быстрой установки.
Клонируйте проект:
$ git clone https://gitee.com/indextank/hg_dnmp.git
Если вы не являетесь пользователем root, добавьте текущего пользователя в группу пользователей docker:
$ sudo gpasswd -a ${USER} docker
Основные команды:
4.1 Создание и запуск всех контейнеров (-d означает запуск в фоновом режиме):
$ docker-compose -f docker-compose.yml up -d
Этот метод не рекомендуется. Рекомендуется запускать соответствующие службы в зависимости от ваших потребностей. Например, запустить nginx и MySQL:
$ docker-compose up nginx mysql57
4.2 Запуск и вход в отдельный контейнер:
$ docker run -it mysql:5.7 /bin/bash
4.3 Сборка или перестройка сервисов:
$ docker-compose build php72
4.4 Запуск|остановка|перезапуск служб:
$ docker-compose start|stop|restart service1 service2 ...
или
$ docker start|stop|restart service1 service2 ...
4.5 Вход в командную строку контейнера:
$ docker-compose exec service bash
или
$ docker exec -it service /bin/sh
4.6 Остановка и удаление контейнеров, сетей, образов и томов:
$ docker-compose down service1 service2 ...
4.7 Удаление контейнера:
$ docker-compose rm containerID
4.8 Удаление образа:
$ docker-compose rmi imageID
4.9 Пакетное удаление контейнеров:
$ docker container rm $(docker container ls -a -q)
4.10 Пакетное удаление образов:
$ docker image rm $(docker image ls -a -q)
docker images | grep none | awk '{print $3}' | xargs docker rmi
docker rmi $(docker images | grep "^" | awk "{print $3}")
docker rmi $( docker images -f dangling=true)
4.12 Установка docker-sync на Mac:
$ gem install docker-sync
$ brew install fswatch
$ brew install unison
$ brew install eugenmayer/dockersync/unox
$
Примечание: в ответе сохранены оригинальные форматирование и орфография.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )