Skip to content

Limarka com Docker

Eduardo de Santana Medeiros Alexandre edited this page Jan 22, 2019 · 28 revisions

Utilizando o limarka através de um container

A utilização do limarka através do docker possui as seguintes vantagens:

  • Possibilita instalação isolada.
  • Não causa conflitos de dependências.
  • Melhor desempenho que máquina virtual.
  • Remover a aplicação consiste apenas em remover a imagem do limarka.

Instalação do Docker

O método de Instalação do Docker depende do seu sistema operacional.

Ubuntu: Para instalar o Docker Community Edition no Ubuntu siga essas instruções. Certifique-se de realizar essas configurações após a instalação.

Para baixar a imagem do limarka digite:

docker pull limarka/limarka

Aguarde o download. Para testar o limarka digite: docker run limarka/limarka --version

$ docker run limarka/limarka --version
limarka 1.0.2
pandoc 2.5
(...)
pdftk 2.02 a Handy Tool for Manipulating PDF Documents
Latexmk, John Collins, 25 October 2018. Version 4.61
XeTeX 3.14159265-2.6-0.99999 (TeX Live 2018)
kpathsea version 6.3.0

O download da imagem demora, pois a imagem contém a instalação completa do TexLive. Mas você só precisará fazer isso uma única vez.

  • Verificando instalação:
$ docker run edusantana/limarka
Commands:
  limarka configuracao help  # Exporta e atualiza configurações
  limarka cronograma         # Imprime código para facilitar elaboração de Cr...
  limarka exec               # Executa o sistema para geração do documento la...
  limarka fig ARQUIVO        # Imprime códigos para inclusão de imagens em co...
  limarka help [COMMAND]     # Describe available commands or one specific co...
  limarka importa ARQUIVO    # Cria um arquivo trabalho-academico.md com o co...
  limarka menu               # Inicia um menu interativo, aceita TAB para aut...
  limarka ref                # Adiciona ou referencia bibliografia
  limarka tab                # Imprime códigos para inclusão de tabelas em co...

Entendendo execução do docker

Entrypoint

Quando o comando docker run edusantana/limarka é executado sem parâmetros, o comando limarka com parâmetro --help é invocado e você obtém a resposta apresentada acima. Segundo a nomenclatura do Docker, o comando limarka é o entrypoint da imagem.

Sempre que for necessário inserir dados da entrada padrão (digitar algo), será necessário adicionar o comando com o parâmetro -it. Por exemplo, o comando limarka menu seria executado da seguinte forma:

$ docker run -it edusantana/limarka menu
+------------+---------------------------------------------+
|             Menu interativo - limarka v0.7.2             |
|                        /trabalho                         |
+------------+---------------------------------------------+
| Comando    | Descrição                                   |
+------------+---------------------------------------------+
| exec       | Executa o limarka.                          |
| figura     | Imprime código para adição de Figura.       |
| tabela     | Imprime código para adição de Tabela.       |
| cronograma | Imprime código para inclusão de Cronograma. |
| rascunho   | Executa o limarka lendo de rascunho.md      |
| web        | Imprime o endereço da documentação online.  |
| menu       | Imprime esse menu.                          |
| sair       | Termina o menu interativo.                  |
+------------+---------------------------------------------+
Pressione TAB para completar o comando ao digitar: 'sa'+TAB completa para 'sair'
Qual comando deseja executar? [exec, figura, tabela, cronograma, rascunho, web, menu, sair] sair

Executando um comando diferente no container

Para executar um comando diferente do limarka no container, é necessário informar um outro comando para o entrypoint. O exemplo a seguir mostra a execução do shell /bin/sh:

$ docker run -it --entrypoint /bin/sh edusantana/limarka
# ls
# pwd
/trabalho
# exit

É importante ressaltar a importância do parâmetro -it nesse caso, pois como a execução do shell requer interação do usuário, sem esse parâmetro o programa é executado e terminado automaticamente.

Montando o volume /trabalho

O container é configurado para execução dentro do volume (diretório) /trabalho, criado no container. Como pode ser visto na saída do comando ls executado anteriormente, esse diretório está vazio. Nós precisaremos montar o diretório atual dentro do volume /trabalho. Isto é feito através do comando --mount:

$ docker run -it --entrypoint /bin/sh --mount src=`pwd`,target=/trabalho,type=bind edusantana/limarka
# ls
Documentos  Dropbox  Modelos  P??blico	      V??deos  temp  ??rea de Trabalho
Downloads   Imagens  M??sica  VirtualBox VMs  bin      w
# pwd
/trabalho
# exit

Neste caso, podemos ver que o comando ls retornou o conteúdo do diretório atual do meu sistema. A montagem ocorreu utilizando o tipo bind, que liga o diretório atual com o volume /trabalho no container. Existem outras formas de ligações, mas esta é a forma mais simples. Consulte o documentação do docker se desejar obter mais informações de montagem.

Editores de texto Markdown

Mesmo utilizando um container docker, você precisará de um editor de texto para editar os arquivos Markdown. Consulte as demais páginas de instalação (no canto direito) para instalar um editor de texto.

Baixando e descompactando o modelo

A próxima seção explicará como baixar um modelo, mas lembre-se que a execução do limarka no container será necessário montar o diretório do modelo no volume /trabalho.

Próxima página

Clone this wiki locally