Oii, Lucas! Como vai?
O erro que está retornando indica que o problema está relacionado com as permissões de acesso do Docker aos sistema ao sistema de arquivos no WSL.
Tendo isso como base, peço, por gentileza, que verifique alguns pontos:
Garanta que o usuário está executando o Docker no WSL tenha permissões corretas para acessar e modificar o diretório /home/lucasvieira
.
Quando você usa docker-compose
para iniciar o Airflow, você pode mapear volumes do host para o container. Verifique se o volume está sendo mapeado corretamente no arquivo docker-compose.yml
. Por exemplo:
services:
webserver:
...
volumes:
- /home/lucasvieira:/home/lucasvieira
...
Se a mudança de permissões com chmod 777
não funcionou, você pode tentar garantir que o dono do diretório é o usuário correto e que as permissões estão realmente aplicadas. Execute os seguintes comandos no WSL:
sudo chown -R $USER:$USER /home/lucasvieira
sudo chmod -R 777 /home/lucasvieira
Antes de executar a DAG, tente criar manualmente um diretório no local especificado dentro do WSL para garantir que as permissões estão corretas:
mkdir -p /home/lucasvieira/pasta
Obs: Se conseguir criar o diretório manualmente, as permissões estão corretas. Caso contrário, há um problema de permissões mais profundo que precisa ser resolvido.
O Docker no WSL pode ter restrições adicionais. Verifique se o Docker está configurado para permitir o acesso completo ao sistema de arquivos do WSL. Pode ser necessário ajustar as configurações do Docker Desktop para WSL.
Como último recurso, se o problema persistir, você pode modificar o comando no BashOperator
para usar sudo
(assumindo que o usuário do Docker tem permissões de sudo sem senha):
cria_pasta = BashOperator(
task_id='cria_pasta',
bash_command='sudo mkdir -p /home/lucasvieira/pasta',
dag=dag,
)
Mas fica aqui um alerta, essa prática não é recomendada para produção por razões de segurança.
Sempre consulte os logs adicionais do Docker e do Airflow para mais informações sobre o erro. Pois eles são detalhados e podem oferecer pistas adicionais sobre onde o problema está ocorrendo.
Espero que uma das sugestões te ajude. Qualquer dúvida, conte conosco.
Bons estudos, Lucas!