vi nie może być instalowane w kontenerze. Który kontener zainstalowałeś i uruchomiłeś?
Hüseyin BABAL
1
Musisz być bardziej szczegółowy. Czy próbujesz uruchomić vi wewnątrz kontenera, jeśli tak, na którym obrazie jest oparty kontener? Najprawdopodobniej nie masz zainstalowanego vi. (apt-get install vim)
wpp,
To zależy od tego, z imageczego budujesz. Najprawdopodobniej imageużywasz jest tak lżejszy, że zawiera tylko rzeczy, które musisz uruchomić jako obraz. Musisz ręcznie zainstalować potrzebne pakiety.
iluzjonista
3
Prawdopodobnie nie powinieneś robić konfiguracji wewnątrz kontenera. Zamiast tego zrób to w pliku Dockerfile.
Jeśli podczas uruchamiania apt-get napotkasz problem z odmową uprawnień, musisz uruchomić docker exec jako root. "docker exec -u root -it <container> bash". Wtedy apt-get powinien działać.
java25
Dzięki @arunprakashpj. Jedyne polecenie, które działało dla obrazu pobranego z repozytorium AWS.
realPK
37
Twój kontener prawdopodobnie nie został zainstalowany po wyjęciu z pudełka.
Uruchom apt-get install vimterminal i powinieneś być gotowy do pracy.
Przed uruchomieniem „apt-get install vim” należy uruchomić „apt-get update”.
user1521213
2
First apt-get updateTHENapt-get install vim
Yogi Ghorecha,
32
Polecenie do uruchomienia zależy od używanego obrazu podstawowego.
W przypadku Alpine vijest instalowany jako część podstawowego systemu operacyjnego. Instalacja vimwyglądałaby następująco:
apk -U add vim
Dla Debiana i Ubuntu:
apt-get update && apt-get install -y vim
W przypadku CentOS vijest zwykle instalowany z podstawowym systemem operacyjnym. Dla vim:
yum install -y vim
Należy to zrobić tylko na wczesnym etapie rozwoju. Po uzyskaniu działającego kontenera zmiany w plikach powinny zostać wprowadzone w obrazie lub konfiguracjach przechowywanych poza kontenerem. Zaktualizuj swój plik Dockerfile i inne pliki, których używa do tworzenia nowego obrazu. Z pewnością nie powinno się tego robić podczas produkcji, ponieważ zmiany wewnątrz pojemnika są z założenia efemeryczne i zostaną utracone po wymianie pojemnika.
Polecenia @ garg10may muszą być uruchamiane jako root. USER rootwewnątrz pliku Dockerfile robi to, ale pamiętaj, aby przełączyć się z powrotem do innego użytkownika. Jestem uruchomionym kontenerem:docker exec -u root ...
BMitch
21
UŻYJ TEGO:
apt-get update && apt-get install -y vim
Wyjaśnienie powyższego polecenia
apt-get update => Zaktualizuje bieżący pakiet
apt-get install => zainstaluje pakiet
-y => Pominie uprawnienia, domyślne uprawnienia zostaną ustawione na Tak.
Wewnątrz kontenera (w dokerze, a nie w maszynie wirtualnej), domyślnie te elementy nie są instalowane. Nawet apt-get , wget nie będzie działać. Moja maszyna wirtualna działa w systemie Ubuntu 17.10. U mnie działał menadżer paczek mniam .
Yum nie jest częścią debiana ani ubuntu. Jest częścią czerwonego kapelusza. Ale działa w Ubuntu i jest domyślnie instalowany jak apt-get
Aby zainstalować vima, użyj tego polecenia
yum install -y vim-enhanced
Aby odinstalować Vima:
yum uninstall -y vim-enhanced
Podobnie,
yum install -y wget
yum install -y sudo
-y służy do zakładania tak, jeśli zostanie wyświetlony monit o jakiekolwiek pytanie po wykonaniu yum install nazwa pakietu
Jeśli faktycznie potrzebujesz małego edytora do prostego porządkowania w dokerze, użyj tego w swoim pliku Dockerfile:
RUN apt-get install -y busybox && ln -s /bin/busybox /bin/vi
Użyłem go na dokerze opartym na Ubuntu 18. (Oczywiście możesz potrzebować RUN apt-get updateprzed nim, ale jeśli tworzysz własny plik Dockera, prawdopodobnie już go masz).
image
czego budujesz. Najprawdopodobniejimage
używasz jest tak lżejszy, że zawiera tylko rzeczy, które musisz uruchomić jako obraz. Musisz ręcznie zainstalować potrzebne pakiety.Odpowiedzi:
zaloguj się do kontenera za pomocą następującego polecenia:
Następnie uruchom następujące polecenie.
źródło
Twój kontener prawdopodobnie nie został zainstalowany po wyjęciu z pudełka.
Uruchom
apt-get install vim
terminal i powinieneś być gotowy do pracy.źródło
vim-tiny
(Ubuntu)apt-get update
THENapt-get install vim
Polecenie do uruchomienia zależy od używanego obrazu podstawowego.
W przypadku Alpine
vi
jest instalowany jako część podstawowego systemu operacyjnego. Instalacjavim
wyglądałaby następująco:Dla Debiana i Ubuntu:
W przypadku CentOS
vi
jest zwykle instalowany z podstawowym systemem operacyjnym. Dlavim
:Należy to zrobić tylko na wczesnym etapie rozwoju. Po uzyskaniu działającego kontenera zmiany w plikach powinny zostać wprowadzone w obrazie lub konfiguracjach przechowywanych poza kontenerem. Zaktualizuj swój plik Dockerfile i inne pliki, których używa do tworzenia nowego obrazu. Z pewnością nie powinno się tego robić podczas produkcji, ponieważ zmiany wewnątrz pojemnika są z założenia efemeryczne i zostaną utracone po wymianie pojemnika.
źródło
USER root
wewnątrz pliku Dockerfile robi to, ale pamiętaj, aby przełączyć się z powrotem do innego użytkownika. Jestem uruchomionym kontenerem:docker exec -u root ...
UŻYJ TEGO:
Wyjaśnienie powyższego polecenia
źródło
bash: apt-get: command not found
apk add
Dodaj następujący wiersz w pliku Dockerfile, a następnie odbuduj obraz Dockera.
źródło
Możesz też zachować małe obrazy Dockera, nie instalując niepotrzebnych edytorów. Możesz edytować pliki przez ssh z hosta dockera do kontenera:
źródło
Użyj poniższego polecenia w kontenerze opartym na Debianie:
Pełna instrukcja użycia w Dockerfile:
Nie instaluje niepotrzebnych pakietów i usuwa niepotrzebne pobrane pliki, więc rozmiar obrazu Dockera nie wzrośnie dramatycznie.
źródło
Aby zainstalować w kontenerze Docker, możesz uruchomić polecenie
Ale będzie to ograniczone do kontenera, w którym jest zainstalowany vim. Aby udostępnić go wszystkim kontenerom, edytuj plik Dockerfile i dodaj
lub możesz również rozszerzyć obraz w nowym pliku Dockerfile i dodać powyższe polecenie. Na przykład.
źródło
Wewnątrz kontenera (w dokerze, a nie w maszynie wirtualnej), domyślnie te elementy nie są instalowane. Nawet apt-get , wget nie będzie działać. Moja maszyna wirtualna działa w systemie Ubuntu 17.10. U mnie działał menadżer paczek mniam .
Yum nie jest częścią debiana ani ubuntu. Jest częścią czerwonego kapelusza. Ale działa w Ubuntu i jest domyślnie instalowany jak apt-get
Aby zainstalować vima, użyj tego polecenia
Aby odinstalować Vima:
Podobnie,
-y służy do zakładania tak, jeśli zostanie wyświetlony monit o jakiekolwiek pytanie po wykonaniu yum install nazwa pakietu
źródło
Jeśli faktycznie potrzebujesz małego edytora do prostego porządkowania w dokerze, użyj tego w swoim pliku Dockerfile:
Użyłem go na dokerze opartym na Ubuntu 18. (Oczywiście możesz potrzebować
RUN apt-get update
przed nim, ale jeśli tworzysz własny plik Dockera, prawdopodobnie już go masz).źródło
Jeśli chcesz zmienić plik tylko raz. Najlepiej dokonać zmiany lokalnie i zbudować nowy obraz dockera z tym plikiem.
Powiedzmy w obrazie Dockera, że musisz zmienić plik o nazwie myFile.xml w / path / to / docker / image /. Więc musisz to zrobić.
Następnie utwórz własny obraz dockera za pomocą
docker build -t docker-repo:v-x.x.x .
Następnie użyj nowo utworzonego obrazu dockera.
źródło