Pular para o conteúdo principal

Como instalar o Markdown Lint num contentor Docker

· Leitura de 3 minutos

Olá, este post irá explicar como instalar e utilizar Markdown Lint num contentor Docker. Por favor, verifique o meu posto anterior para compreender melhor o Docker.

Antes de começar

Por favor, certifique-se de que verificou o meu posto Docker anterior, porque vou utilizar algumas referências a esse posto, e seria mais fácil seguir este posto :)

Neste caso, estará a utilizar um recipiente de rubi para instalar a nossa ferramenta mdl. Mostrará como instalar um contentor de rubi nesse post anterior do Docker que mencionei.

Markdown Lint

Esta é uma ferramenta para ficheiros Markdown (md) que inclui uma biblioteca de regras para encorajar normas e consistência para ficheiros Markdown e que confirma se os ficheiros estão a seguir estas regras.

Contentor Ruby

Por isso, para começar, vamos correr o contentor de rubi! Copie colar a seguinte linha no seu terminal:

docker run -tid -v /home/vagrant:/mdfiles --name ruby --entrypoint=/bin/bash ruby:latest

Muito bem, então olhe para esta linha de comando e pergunte-se o que no mundo é tudo isto!? Bem, deixe-me explicar :)

A -tid é 3 coisas diferentes:

-t ou --tty: Atribuir um pseudo-TTY -i ou --interactiva: Manter STDIN aberto mesmo que não anexado -d ou --detach: Modo destacado: comando de execução em segundo plano

Depois, fazemos um -v de volume, que no nosso caso, é utilizado para espelhar a pasta onde temos o nosso ficheiro .md. Isto permitir-nos-á ter "a mesma pasta" no nosso contentor. Lembre-se que o / é a raiz e depois criamos uma nova pasta no contentor chamada "mdfiles".

Depois utilizamos o --nome e como o nome sugere é para attibuir um nome para o seu contentor.

Corremos --oponto de entrada /bin/bash para deixar abrir uma cave. Isto permite que o contentor fique aberto (para cima) em vez de fechar logo após a corrida. Quando se faz um executante, este não vai à batida (execut é sh e não bash). É por isso que temos de fazer com que o contentor funcione bash, para podermos usar todo o comando bash

A diferença entre a execução da doca e a execução da doca é que a doca executa um comando sobre um contentor em execução. Por outro lado, a docker run cria um contentor temporário, executa o comando no mesmo e pára o contentor quando este é $ Então usamos --entrypoint para correr um contentor, e deixamo-lo abrir até decidirmos pará-lo

Também pode dar um comando directamente ao seu contentor, ao fazê-lo: Nota: Se tiver um contentor com janelas, usa o powerhell em vez de bash

docker exec ruby bash -c "ip add"

Executamos o terminal bash com o comando (-c) "ip add". Isto mostrar-lhe-á o endereço IP do seu contentor de rubi

E agora podemos instalar a ferramenta mdl:

docker exec ruby bash -c "gem install mdl"

Óptimo, tudo parece agradável e limpo! Agora, escolha um ficheiro .md à sua escolha, e execute o mdl:

docker exec ruby bash -c "mdl /mdfiles/myfile.md"

Isto fará correr a ferramenta mdl através do seu ficheiro md e informá-lo-á de quantos erros tem, as linhas que são e qual foi a regra que não foi respeitada.