Обзор образа

Образ для Докера:

  • Использует Ubuntu 16.04 в качестве базового образа.
  • Внутри образа приложение находится в папке /iqchannels.
  • Содержит дополнительные пакеты:
    • libaio1
    • ca-certificates
    • webp
    • imagemagick
  • Идет с установленным и настроенным клиентом для Oracle instantclient_12_1.
  • Заданы /etc/default/locale:
    • LANG=en_US.UTF-8
      LC_ALL=en_US.UTF-8
      LANGUAGE=en_US:en

Структура папки /iqchannels:

  • bin — скомпилированные бинарные файлы приложения, скрипты управления приложением.
  • config — конфигурационные файлы и тестовые данные.
  • migrations — файлы миграций для баз данных.
  • static — статические файлы (JavaScript, CSS, картинки и т.д.)
  • var/runvar/logvar/upload — папки для логов, pid-файлов (в Unix) и загружаемого пользовательского контента.

Установка

1) Выберите требуемый образ со страницы Релизы.

docker.iqstore.ru/iqchannels:2017.2.0

2) Создайте папки для хранения внешних данных контейнера.

$ mkdir -p var/log var/run var/upload

3) Создайте файл конфигурации config.yaml.

4) Укажите настройки базы данных в config.yaml.

PostgreSQL:

db:
 type: postgres
 connect: port=5432 dbname=iqchannels user=iqchannels password=secret sslmode=disable
 max_idle: 4 # Max idle connections in a connection pool.
 max_open: 12 # Max open connections in a connection pool.

SQL Server:

db:
 type: mssql
 connect: port=1433;database=iqchannels;user id=sa;password=Secret22;encrypt=disable
 max_idle: 4 # Max idle connections in a connection pool.
 max_open: 12 # Max open connections in a connection pool.

Oracle:

# Use DNS to specify a connection string (user/password@host:port/sid).
db:
 type: oracle
 connect: iqchannels/secret@localhost:1521/xe
 max_idle: 4 # Max idle connections in a connection pool.
 max_open: 12 # Max open connections in a connection pool.

5)  Опционально, укажите другие настройки сервера в config.yaml. Настройки по умолчанию со всеми комментариями доступны в файле config/config.yaml из архива релиза для любой ОС.

6) Запустите скрипты миграции базы данных:

docker run -it --rm \
	--net=host \
	-v /absolute-path-to/config.yaml:/iqchannels/config/config.yaml \
	-v /absolute-path-to/var:/iqchannels/var \
	docker.iqstore.ru/iqchannels:2017.2.0 \
	migrate

7) Запустите контейнер с приложением в фоновом режиме (-d):

docker run -it -d \
	--name=iqchannels \
	--net=host \
	-v /absolute-path-to/config.yaml:/iqchannels/config/config.yaml \
	-v /absolute-path-to/var:/iqchannels/var \
	docker.iqstore.ru/iqchannels:2017.2.0 \
	run

8) Готово. Проверьте, что сервер запущен: 

http://localhost:3002/ 

10) Перейдите к Настройке приложения.

Комментарии:

При необходимости, замените --net=host на сопоставление портов:

-p 3001:3001 -p 3002:3002
  • No labels