Este repositorio contiene una imagen personalizada basada en devcontainers/base:jammy con las siguientes herramientas preinstaladas:
- Docker (vía socket del host)
- Terraform 1.6.6
- Terragrunt 0.56.3
- AWS CLI v2
- Node.js 18
- Python 3 + pip
- LocalStack CLI
- Code Server con extensiones:
- ms-python.python
- hashicorp.terraform
- 4ops.terraform
Proveer un entorno de desarrollo completo para cada alumno, desplegado en su propia instancia EC2.
.
├── Dockerfile
├── settings.json # Configuración por defecto para Code Server
└── README.md
# Build local
docker build -t yosoyfunes/code-server-devbox:v1 .
# Push a Docker Hub
docker push yosoyfunes/code-server-devbox:v1sudo apt update && sudo apt install -y docker.io
sudo usermod -aG docker $USER
newgrp docker# Amazon Linux 2
sudo yum update -y
sudo amazon-linux-extras enable docker
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker ec2-user
newgrp dockerdocker volume create code-server-datadocker run -d \
--name code-server \
-p 8080:8080 \
-e PASSWORD=devcontainer \
-v /var/run/docker.sock:/var/run/docker.sock \
-v code-server-data:/home/vscode/.local/share/code-server \
-w /workspaces/project \
yosoyfunes/code-server-devbox:v1 code-server /workspaces/projectNota: Es importante agregar
code-server /workspaces/projectal final del comando para iniciar el servidor apuntando a la carpeta de trabajo.
docker run -d \
--name code-server \
-p 8080:8080 \
-e PASSWORD=devcontainer \
-v /var/run/docker.sock:/var/run/docker.sock \
-v code-server-data:/home/vscode/.local/share/code-server \
-v "$PWD":/workspaces/project \
-w /workspaces/project \
yosoyfunes/code-server-devbox:v1 code-server /workspaces/projectNota: Recuerda incluir
code-server /workspaces/projectal final para que el servidor se inicie correctamente en la carpeta deseada.
Puedes lanzar el entorno usando docker-compose con el archivo incluido en este repositorio:
docker-compose up -dNota: El servicio está configurado para iniciar automáticamente
code-server /workspaces/projectcomo comando principal, apuntando a la carpeta de trabajo.
- URL:
http://<IP-EC2>:8080 - Contraseña por defecto:
devcontainer