web-dev-qa-db-fra.com

Comment exécuter vi sur un conteneur docker?

J'ai installé docker sur ma machine virtuelle hôte. Et maintenant, vous voulez créer un fichier en utilisant vi.

Mais cela me montre une erreur:

bash: vi: command not found
45
Krati Jain

connectez-vous au conteneur avec la commande suivante:

docker exec -it <container> bash

Ensuite, exécutez la commande suivante.

apt-get update
apt-get install vim
65
arunprakashpj

Votre conteneur ne l’a probablement pas déjà installé.

Courir apt-get install vim dans le terminal et vous devriez être prêt à partir.

31
Englund

La commande à exécuter dépend de l'image de base que vous utilisez.

Pour Alpine, vi est installé avec le système d'exploitation de base. Installer vim serait:

apk -U add vim

Pour Debian et Ubuntu:

apt-get update && apt-get install -y vim

Pour CentOS, vi est généralement installé avec le système d'exploitation de base. Pour vim:

yum install -y vim

Cela ne devrait être fait qu'au début du développement. Une fois que vous obtenez un conteneur de travail, les modifications apportées aux fichiers doivent être apportées à votre image ou aux configurations stockées en dehors de votre conteneur. Mettez à jour votre fichier Dockerfile et les autres fichiers qu'il utilise pour créer une nouvelle image. Cela ne devrait certainement pas être fait en production car les modifications à l'intérieur du conteneur sont, par définition, éphémères et seront perdues lors du remplacement du conteneur.

14
BMitch

Ajoutez la ligne suivante dans votre fichier Docker puis reconstruisez l’image de menu fixe.

RUN apt-get update && apt-get install -y vim
9
CJ Chang

Vous pouvez également réduire la taille des images de votre menu fixe en évitant d'installer des éditeurs inutiles. Vous pouvez éditer les fichiers sur ssh du docker Host vers le conteneur:

vim scp://remoteuser@container-ip//path/to/document
4
Matthew

Pour installer dans votre conteneur Docker, vous pouvez exécuter la commande

docker exec apt-get update & apt-get install -y vim

Mais cela sera limité au conteneur dans lequel vim est installé. Pour le rendre disponible à tous les conteneurs, éditez le fichier Docker et ajoutez

Lancez apt-get update && apt-get install -y vim

ou vous pouvez également étendre l'image dans le nouveau fichier Dockerfile et ajouter la commande ci-dessus. Par exemple.

FROM <nom de l'image>

Lancez apt-get update && apt-get install -y vim

2
MB11

Conteneur intérieur (dans le menu fixe, pas dans la machine virtuelle), par défaut, ils ne sont pas installés. Même apt-get, wget ne fonctionnera pas. Mon VM s'exécute sur Ubuntu 17.10. Pour moi miam le gestionnaire de paquets a fonctionné.

Yum ne fait pas partie de debian ou d'ubuntu. Cela fait partie du chapeau rouge. Mais, cela fonctionne dans Ubuntu et il est installé par défaut comme apt-get

Tu installes vim, utilise cette commande

yum install -y vim-enhanced 

Pour désinstaller

yum install -y vim-enhanced 

De même,

yum install -y wget 
yum install -y Sudo 

-y sert à supposer que oui si une question est posée après avoir fait yum install packagename

0
P Satish Patro