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' )