È quasi certo che la distribuzione Linux in esecuzione in un container Docker non abbia Vim o altri editor di testo installati per impostazione predefinita.
Un modo rapido per installare l'editor di testo nel tuo contenitore Docker sarebbe inserire il contenitore in esecuzione:
docker exec -it container_name_or_ID sh
Verifica quale distribuzione Linux utilizza:
cat /etc/os-release
E poi usa il gestore dei pacchetti della distribuzione per installarlo.
Per installare Vim su Ubuntu o Debian, usa il comando apt:
apt update
apt install vim
Per installarlo su CentOS o Red Hat, usa il comando Yum:
yum install vim
E se è Alpine Linux, usa il comando apk:
apk update
apk add vim
Dovrebbe consentire di eseguire e utilizzare Vim nel contenitore attualmente in esecuzione. Ma c'è un grosso problema con questo approccio. Se esegui un nuovo container con la stessa immagine Docker, il comando Vim che avevi installato non sarà presente in questo nuovo container. Dovrai installarlo di nuovo.
Se vuoi che tutti i container creati usando l'immagine Docker data abbiano anche Vim installato per impostazione predefinita, devi aggiungere i comandi di installazione nel Dockerfile.
Spero che tu sappia come creare un'immagine Docker personalizzata con Dockerfile. In caso contrario, lascia che te lo ricordi rapidamente con un semplice esempio di Alpine Linux.
Crea un nuovo file chiamato Dockerfile:
touch Dockerfile
Ora apri questo Dockerfile per la modifica in un editor e aggiungi le seguenti righe e salvalo:
FROM alpine:latest
RUN apk update
RUN apk add vim
Fondamentalmente, stai indicando a Docker di estrarre l'ultima immagine Docker Alpine e quindi eseguire il gestore apk packgae per aggiornare la cache e installare Vim.
Devi creare questa immagine Docker personalizzata dal Dockerfile sopra menzionato. Esegui un comando come questo per creare la tua immagine Docker personalizzata:
docker build -t new_docker_image_name PATH_to_Dockerfile
Ora, se esegui qualsiasi contenitore con questa nuova immagine Docker personalizzata, dovrebbe avere già installato l'editor Vim.
Spero che questo rapido suggerimento Docker ti sia stato utile.