it-swarm.com.de

Wie führe ich vi auf docker container aus?

Ich habe Docker auf meiner virtuellen Host-Maschine installiert. Und jetzt möchte ich eine Datei mit vi erstellen.

Aber es zeigt mir einen Fehler:

bash: vi: command not found
45
Krati Jain

mit folgendem Befehl in Container einloggen:

docker exec -it <container> bash

Führen Sie dann den folgenden Befehl aus.

apt-get update
apt-get install vim
65
arunprakashpj

Ihr Container hat es wahrscheinlich noch nicht installiert.

Lauf apt-get install vim im Terminal und Sie sollten bereit sein zu gehen.

31
Englund

Der auszuführende Befehl hängt davon ab, welches Basisimage Sie verwenden.

Für Alpine wird vi als Teil des Basisbetriebssystems installiert. Das Installieren von vim wäre:

apk -U add vim

Für Debian und Ubuntu:

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

Bei CentOS wird vi normalerweise mit dem Basisbetriebssystem installiert. Für vim:

yum install -y vim

Dies sollte nur in der frühen Entwicklung erfolgen. Sobald Sie einen funktionierenden Container erhalten haben, sollten die Änderungen an Dateien an Ihrem Image oder Ihren Konfigurationen vorgenommen werden, die außerhalb Ihres Containers gespeichert sind. Aktualisieren Sie Ihre Docker-Datei und andere Dateien, mit denen Sie ein neues Image erstellen. Dies sollte auf keinen Fall in der Produktion geschehen, da Änderungen im Inneren des Containers von Natur aus kurzlebig sind und beim Austausch des Containers verloren gehen.

14
BMitch

Fügen Sie die folgende Zeile in Ihre Docker-Datei ein und erstellen Sie das Docker-Image neu.

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

Alternativ können Sie Ihre Docker-Images klein halten, indem Sie keine unnötigen Editoren installieren. Sie können die Dateien über ssh vom Docker-Host in den Container bearbeiten:

vim scp://[email protected]//path/to/document
4
Matthew

Zur Installation in Ihrem Docker-Container können Sie den Befehl ausführen

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

Dies ist jedoch auf den Container beschränkt, in dem vim installiert ist. Bearbeiten Sie das Dockerfile und fügen Sie es hinzu, um es für alle Container verfügbar zu machen

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

oder Sie können das Bild auch im neuen Dockerfile erweitern und den obigen Befehl hinzufügen. Z.B.

FROM <Bildname>

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

2
MB11

Im Container (im Docker, nicht in der VM) sind diese standardmäßig nicht installiert. Auch apt-get , wget wird nicht funktionieren. Mein VM läuft unter Ubuntu 17.10. Für mich hat der yum Paketmanager funktioniert.

Yum ist kein Teil von Debian oder Ubuntu. Es ist Teil von Red Hat. Aber es funktioniert in Ubuntu und wird standardmäßig wie apt-get installiert

Verwenden Sie diesen Befehl, um vim zu installieren

yum install -y vim-enhanced 

Deinstallieren

yum install -y vim-enhanced 

Ähnlich,

yum install -y wget 
yum install -y Sudo 

-y ist für die Annahme von yes, wenn eine Frage nach dem Ausführen von gestellt wird. yum install packagename

0
P Satish Patro