2.0 KiB
2.0 KiB
🐳 code-server Dev Container con Docker-in-Docker
Un contenedor de desarrollo impulsado por code-server, con soporte completo para Docker usando Docker-in-Docker (DinD). Todo se configura fácilmente mediante variables de entorno en .env
.
Características
- 💻 code-server (VS Code en el navegador)
- 🐳 Docker-in-Docker (DinD)
- 🔐 Autenticación por contraseña o hash
- 👤 Configuración dinámica de usuario (UID, GID, contraseña)
- ⚙️ Herramientas preinstaladas: Docker, AWS CLI v2, kubectl, eksctl, Node.js, Python, Java, pre-commit, y más.
Construcción
docker build -t code-server-dind .
Configuración por Entorno (.env
)
Crea un archivo .env
con tus preferencias:
DOCKER_USER=coder
UID=1000
GID=1000
TZ=Asia/Taipei
PASSWORD=tucontraseña
# O alternativamente:
# HASHED_PASSWORD=$argon2id$v=19$m=65536,t=3,p=4$...
Nota: Solo debes definir
PASSWORD
oHASHED_PASSWORD
. UsaPASSWORD=none
para desactivar la autenticación.
Ejecución
docker run --rm -it \
--privileged \
-v code-server-home:/home/coder \
--env-file .env \
-p 8080:8080 \
code-server-dind
Volumen
Todo el trabajo se guarda en /home/coder
, montado mediante el volumen code-server-home
.
Modos de Autenticación
PASSWORD=tuclave
: contraseña en texto plano.HASHED_PASSWORD=...
: contraseña pre-hasheada (segura).PASSWORD=none
: sin autenticación (no recomendado en producción).
Acceso
Una vez corriendo, visita: http://localhost:8080
Inicia sesión con las credenciales de tu archivo .env
.
Herramientas Incluidas
- Docker CLI
- AWS CLI v2
- kubectl (
v1.33.0
) - eksctl
- Node.js + npm
- Python 3 + pipx + venv
- Java (default-jre)
- pre-commit
- siege, jq, git, y más.
Limpieza
docker volume rm code-server-home
Licencia
Este documento se distribuye bajo los términos de la GNU General Public License v3 o posterior. Ver el archivo LICENSE para más detalles.