Development ExtJs Docker - linea-it/dri GitHub Wiki
Container com Sencha CMD
Build do Container Sencha CMD
Dockerfile
FROM openjdk:8-jre-stretch
ENV VERSION=6.5.3.6
RUN curl -o /cmd.run.zip http://cdn.sencha.com/cmd/$VERSION/no-jre/SenchaCmd-$VERSION-linux-amd64.sh.zip && \
unzip -p /cmd.run.zip > /cmd-install.run && \
chmod +x /cmd-install.run && \
/cmd-install.run -q -Dall=true -dir /opt/Sencha/Cmd/$VERSION && \
install -dm777 -o root -g root /opt/Sencha/Cmd/repo && \
rm /cmd-install.run /cmd.run.zip && \
ln -s /opt/Sencha/Cmd/$VERSION/sencha /opt/Sencha/sencha && \
apt-get update && apt-get install -y --no-install-recommends \
ruby \
libffi6 \
build-essential \
ruby-dev \
libffi-dev && \
gem update --system && \
gem install compass && \
apt-get remove -y ruby-dev build-essential libffi-dev && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
ENTRYPOINT ["/opt/Sencha/sencha"]
Comando para fazer o build
docker build -t sencha_cmd -f Dockerfile_Sencha .
Executar o comando dentro do diretório frontend que é o diretório workspace do ExtJs. Montar o diretório workspace no diretório /code, expor a porta 1841 e setar o workdir para o diretório do app. obs: neste contexto o desenvolvimento é um app em cada container.
docker run --rm -v $(pwd):/code -p 1841:1841 --workdir /code/sky sencha_cmd app watch
Explicando:
-v $(pwd):/code : Montando o diretório workspace (dri/frontend) neste diretório tem os arquivos do framework e todos os apps.
-p 1841:1841 : Expondo o porta do sencha comand watch para a maquina local.
--workdir /code/sky : Configurar o container para executar os comandos no diretório do app.
sencha_cmd : Nome do container neste exemplo (sencha_cmd)
app watch : Comando a ser executado no container, o container esta configurado para todo comando ser passado direto para o sencha cmd. ( o comando completo seria 'sencha app watch' ou 'sencha app build' )