Difference between revisions of "Docker"
Mouramanuela (talk | contribs) |
Mauferrari (talk | contribs) (→Problemas com a instalação na máquina) |
||
| Line 29: | Line 29: | ||
Com isso, a configuração está pronta. Confirme que o Docker está funciona com <code>docker run hello-world</code> ou <code>docker version</code>. | Com isso, a configuração está pronta. Confirme que o Docker está funciona com <code>docker run hello-world</code> ou <code>docker version</code>. | ||
| − | ==Problemas com a instalação na máquina== | + | == Problemas com a instalação na máquina == |
| − | Caso mesmo após estes passos o docker apresente problemas, pode ser necessário realizar a configuração de modo a executar ele manualmente | + | Caso mesmo após estes passos o docker apresente problemas, pode ser necessário realizar a configuração de modo a executar ele manualmente direcionando para a sua pasta na /draft-XXX. Para isso é preciso é preciso: |
| − | # Criar uma pasta na / | + | # Criar uma pasta na /draft-XXX do usuário que será usada pelo runtime do dockerd-rootless, executando:<br> |
| − | <code>mkdir / | + | <code>mkdir /draft-XXX/<user>/.docker</code><br> |
| − | <code>mkdir / | + | <code>mkdir /draft-XXX/<user>/.docker/run</code> |
| − | #Após isso é preciso criar as variaveis de ambiente no ~/.bashrc para XDG_RUNTIME_DIR e DOCKER_HOST. | + | # Após isso é preciso criar as variaveis de ambiente no ~/.bashrc para XDG_RUNTIME_DIR e DOCKER_HOST. |
| − | <code>export XDG_RUNTIME_DIR=/ | + | <code>export XDG_RUNTIME_DIR=/draft-XXX/<user>/.docker/run</code><br> |
| − | <code>export DOCKER_HOST=unix:/// | + | <code>export DOCKER_HOST=unix:///draft-XXX/<user>/.docker/run/docker.sock</code> |
A partir deste ponto, enquanto quiser executar o docker, é preciso deixar uma janela excutando o bash script <code>dockerd-rootless.sh</code>. Para isso abra uma janela do tmux ou byobu, e execute: | A partir deste ponto, enquanto quiser executar o docker, é preciso deixar uma janela excutando o bash script <code>dockerd-rootless.sh</code>. Para isso abra uma janela do tmux ou byobu, e execute: | ||
Revision as of 10:57, 13 August 2024
Instalação
Importante: para estas configurações é necessário que a máquina tenha um docker instalado com versão >= 20.10
Este processo ainda se encontra em uma fase experimental e não está disponível em todas as máquinas. As máquinas disponíveis com docker até o momento são PROC6, PROC7, EVA e DALEK.
Configuração inicial
Para utilizar docker em uma máquina no laboratório é preciso que o usuário:
- solicite à equipe de rede para criar uma pasta de rascunho no disco local como /draft-xxx/nome_do_usuario e dar permissão de leitura/escrita.
- solicite à equipe de rede a instalação do docker na máquina.
Feito estas etapas, para configurar o acesso na máquina é preciso seguir os seguintes passos para executar o docker rootless:
- Crie a pasta
~/.config/dockercom o comandomkdir -p ~/.config/docker. - Altere a pasta de armazenamento dos arquivos de cache do Docker para a pasta de rascunho /draft-xxx com:
echo '{"data-root":"/<path-em-disco-local>/<user>/docker-cache"}' | tee ~/.config/docker/daemon.json
Importante: Lembre-se de ajustar o <path-em-disco-local>/<user> para uma armazenamento de rascunho na máquina e alguma pasta do seu usuário (por exemplo, /draft-hdd/fulano).
Esses dois primeiros passos são específicos para as máquinas do VeRLab: por padrão o Docker guarda arquivos na /home do usuário, mas essa pasta é compartilhada em rede (por NFS ou MooseFS) e o Docker não dá suporte a isso.Aqui está um issue citando o problema
- Execute
dockerd-rootless-setuptool.sh install.
Importante: Após terminar, o comando vai pedir que você altere seu .bashrc para adicionar uma linha semelhante a export DOCKER_HOST=unix:///run/user/<uid>/docker.sock (varia por usuário). Faça essa alteração antes de prosseguir copiando e colando o comando no terminal.
- Reinicie o Bash com
exec bash. - Ative a inicialização automática do Docker:
systemctl --user enable --now dockerou manualmente:systemctl --user start docker
Com isso, a configuração está pronta. Confirme que o Docker está funciona com docker run hello-world ou docker version.
Problemas com a instalação na máquina
Caso mesmo após estes passos o docker apresente problemas, pode ser necessário realizar a configuração de modo a executar ele manualmente direcionando para a sua pasta na /draft-XXX. Para isso é preciso é preciso:
- Criar uma pasta na /draft-XXX do usuário que será usada pelo runtime do dockerd-rootless, executando:
mkdir /draft-XXX/<user>/.docker
mkdir /draft-XXX/<user>/.docker/run
- Após isso é preciso criar as variaveis de ambiente no ~/.bashrc para XDG_RUNTIME_DIR e DOCKER_HOST.
export XDG_RUNTIME_DIR=/draft-XXX/<user>/.docker/run
export DOCKER_HOST=unix:///draft-XXX/<user>/.docker/run/docker.sock
A partir deste ponto, enquanto quiser executar o docker, é preciso deixar uma janela excutando o bash script dockerd-rootless.sh. Para isso abra uma janela do tmux ou byobu, e execute:
bash dockerd-rootless.sh
Em outro terminal, é possível verificar a instalação executando docker run hello-world ou docker version.