Работа с Polymer веб-компонентами в Docker контейнере
Статья проведёт вас сквозь процесс создания Docker-образа на основе Alpine Linux с NodeJS и установку Polymer CLI внутри этого образа.
Для работы вам потребуется установленное рабочее окружение:
- Linux
- Docker
Подготовка файлов Docker
Создайте каталог проекта:
mkdir demo-app
cd demo-app
Создайте файл Dockerfile содержащий:
FROM node:alpine
RUN mkdir -p /usr/src/app \
&& npm install -g polymer-cli --unsafe-perm
WORKDIR /usr/src/app
CMD ["polymer", "serve"]
Создайте файл docker-compose.yml содержащий:
version: '3'
services:
polymer:
network_mode: host
volumes:
- .:/usr/src/app
build: .
Создание образа Docker и инициализация проекта Polymer
Постройте образ Docker согласно настроенным правилам:
docker-compose build
Сгенерируйте проект Polymer с помощью мастера создания проекта:
docker-compose run polymer polymer init
Выберите пункт "A simple Polymer 3.0 application" как указано ниже:
Выберите прочие установки проекта:
Итогом установки будут следующие файлы:
Осталось забрать себе права на сгенерированные файлы с пользователя root Docker-контейнера, для этого вам потребуются права суперпользователя:
sudo chown -R $USER:$GROUP .
Проект и образ готовы к использованию!
Работа с проектом
Запустите сервер встроенный в образ:
docker-compose up -d
Теперь приложение доступно в браузере по адресу http://localhost:8081.
Логи сервера доступны по команде docker-compose logs -f
, для остановки вывода журнала нажмите комбинацию клавиш CTRL+C
.
Остановить сервер можно с помощью docker-compose down
.
Войти в консоль контейнера можно с помощью docker-compose run polymer sh
, выход из консоли exit
.
Приложение готово к локальной разработке и тестированию.