Como Criar um Container Docker para Rodar Python, Jupyter Notebook, Scikit-learn e Keras no WSL
Se você usa Windows, o Windows Subsystem for Linux (WSL) oferece uma maneira poderosa de rodar um ambiente Linux dentro do Windows. Neste tutorial, você aprenderá a configurar um container Docker no WSL para rodar Python, Jupyter Notebook, Scikit-learn e Keras. Essa configuração é excelente para profissionais de ciência de dados que trabalham no Windows, mas preferem o ambiente de desenvolvimento Linux.
Pré-requisitos
Antes de começar, certifique-se de ter as seguintes ferramentas instaladas no seu sistema:
- WSL 2 configurado no Windows 10 ou 11 (Guia de Instalação).
- Docker Desktop para Windows (Baixar Docker Desktop).
- Ubuntu (ou outra distro Linux) rodando via WSL.
Passo 1: Instalar Docker no WSL
Depois de instalar o Docker Desktop no Windows, é necessário configurar o Docker para trabalhar dentro do WSL.
- Abra o Docker Desktop e vá até as Configurações.
- Selecione a opção WSL Integration.
- Marque a distribuição Linux que você deseja usar (normalmente,
Ubuntu). - Certifique-se de que o Docker está rodando.
Com isso, o Docker estará disponível dentro do seu ambiente WSL.
Verificar a instalação do Docker no WSL
Abra o terminal do WSL (Ubuntu) e digite:
docker --version
Se o Docker estiver instalado corretamente, você verá a versão instalada.
Passo 2: Criar um Dockerfile
Agora, vamos configurar o container para rodar Python, Jupyter Notebook, Scikit-learn e Keras.
- No terminal do WSL, crie um diretório para o projeto:
mkdir python-datascience
cd python-datascience
- Dentro do diretório, crie um arquivo chamado
Dockerfile:
nano Dockerfile
- Adicione o seguinte conteúdo ao
Dockerfile:
# Usar uma imagem base oficial do Python
FROM python:3.9
# Definir o diretório de trabalho no container
WORKDIR /usr/src/app
# Instalar dependências necessárias
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
&& rm -rf /var/lib/apt/lists/*
# Instalar Jupyter, Scikit-learn e Keras
RUN pip install --no-cache-dir jupyterlab scikit-learn keras tensorflow
# Expor a porta para o Jupyter Notebook
EXPOSE 8888
# Definir o comando padrão para iniciar o Jupyter Notebook
CMD ["jupyter", "notebook", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root"]
Explicação dos Comandos
FROM python:3.9: Utiliza uma imagem base com Python 3.9.WORKDIR /usr/src/app: Define o diretório de trabalho no container.RUN apt-get update ...: Instala pacotes de compilação e dependências do sistema.RUN pip install: Instala Jupyter Lab, Scikit-learn, Keras e TensorFlow.EXPOSE 8888: Expõe a porta 8888, usada pelo Jupyter.CMD: Define o comando para iniciar o Jupyter Notebook automaticamente.
Passo 3: Construir a Imagem Docker
Agora, dentro do diretório onde o Dockerfile foi criado, você pode construir a imagem Docker.
Comando para construir a imagem:
docker build -t python-datascience .
Neste comando:
-t python-datascience: Nome da imagem a ser construída.- O ponto (
.) refere-se ao diretório atual, onde oDockerfileestá localizado.
Passo 4: Executar o Container Docker
Uma vez que a imagem Docker está pronta, você pode iniciar o container.
Comando para rodar o container:
docker run -p 8888:8888 -v $(pwd):/usr/src/app -it python-datascience
Neste comando:
-p 8888:8888: Mapeia a porta 8888 do container para a mesma porta no host, permitindo que você acesse o Jupyter Notebook via navegador.-v $(pwd):/usr/src/app: Monta o diretório atual do WSL no container.-it: Inicia o container em modo interativo.
Passo 5: Acessar o Jupyter Notebook
Quando o container for iniciado, o terminal exibirá uma URL para acessar o Jupyter Notebook, algo como:
http://127.0.0.1:8888/?token=seu_token_aqui
Abra essa URL no navegador do Windows. Agora, você terá acesso ao Jupyter Notebook rodando dentro do WSL, com Python, Scikit-learn e Keras instalados.
Passo 6: Salvar e Compartilhar a Imagem Docker
Se você quiser salvar ou compartilhar sua imagem Docker com outros, você pode fazer isso com os comandos abaixo.
Para salvar a imagem localmente:
docker save -o python-datascience.tar python-datascience
Para enviar a imagem para o Docker Hub:
- Primeiro, faça login no Docker Hub:
docker login
- Marque a imagem com seu nome de usuário no Docker Hub:
docker tag python-datascience seu_usuario/python-datascience:latest
- Envie a imagem para o Docker Hub:
docker push seu_usuario/python-datascience:latest

Leave a comment