vi нельзя устанавливать внутри контейнера. Какой контейнер вы установили и запустили?
Hüseyin BABAL
1
Вы должны быть более конкретными. Вы пытаетесь запустить vi внутри контейнера, если да, то на каком образе основан контейнер? Скорее всего, у вас не установлен vi. (apt-get install vim)
wpp
Это зависит от того, из чего imageвы строите. Скорее всего, imageвы используете его настолько легче, что в нем есть только вещи, которые вам нужно запускать как изображение. Вам необходимо вручную установить нужные вам пакеты.
иллюзионист
3
Вероятно, вам не следует выполнять настройку внутри контейнера. Вместо этого сделайте это в Dockerfile.
Если вы столкнулись с проблемой отказа в разрешении при запуске apt-get, вам нужно запустить docker exec от имени пользователя root. "docker exec -u root -it <container> bash". Тогда apt-get должен работать.
java25
Спасибо @arunprakashpj. Единственная команда, которая работала для образа, загруженного из репозитория AWS.
realPK 02
36
Ваш контейнер, вероятно, не установил его из коробки.
Запустите apt-get install vimтерминал, и вы должны быть готовы к работе.
Перед запуском «apt-get install vim» вам необходимо запустить «apt-get update».
user1521213
2
Первое apt-get updateТОapt-get install vim
Йоги Гореча
30
Команда для запуска зависит от того, какой базовый образ вы используете.
Для Alpine viустанавливается как часть базовой ОС. Установка vimбудет:
apk -U add vim
Для Debian и Ubuntu:
apt-get update && apt-get install -y vim
Для CentOS viобычно устанавливается вместе с базовой ОС. Для vim:
yum install -y vim
Это следует делать только на ранней стадии разработки. Как только вы получите рабочий контейнер, изменения файлов должны быть внесены в ваш образ или конфигурации, хранящиеся вне вашего контейнера. Обновите свой Dockerfile и другие файлы, которые он использует для создания нового образа. Это определенно не следует делать в производственной среде, поскольку изменения внутри контейнера являются недолговечными и будут потеряны при замене контейнера.
Команды @ garg10may необходимо запускать от имени пользователя root. USER rootвнутри Dockerfile делает это, но обязательно переключитесь обратно на другого пользователя. Я бегущий контейнер:docker exec -u root ...
BMitch 06
19
ИСПОЛЬЗОВАТЬ ЭТО:
apt-get update && apt-get install -y vim
Объяснение вышеуказанной команды
apt-get update => Обновит текущий пакет
apt-get install => Установит пакет
-y => Пропустить разрешение, разрешение по умолчанию будет установлено на Да.
В качестве альтернативы, уменьшите размер образов докеров, не устанавливая ненужных редакторов. Вы можете редактировать файлы через ssh с хоста докера в контейнер:
vim scp://remoteuser@container-ip//path/to/document
Внутри контейнера (в докере, а не в виртуальной машине) по умолчанию они не установлены. Даже apt-get , wget работать не будет. Моя виртуальная машина работает на Ubuntu 17.10. Для меня ни пакета manaager работал.
Yum не является частью debian или ubuntu. Это часть красной шляпы. Но он работает в Ubuntu и по умолчанию устанавливается как apt-get
Tu install vim, используйте эту команду
yum install -y vim-enhanced
Чтобы удалить vim:
yum uninstall -y vim-enhanced
По аналогии,
yum install -y wget
yum install -y sudo
-y означает, что да, если будет предложено ввести любой запрос после выполнения yum install packagename
Если вам действительно нужен небольшой редактор для простого обслуживания в докере, используйте его в своем Dockerfile:
RUN apt-get install -y busybox && ln -s /bin/busybox /bin/vi
Я использовал его на докере на базе Ubuntu 18. (Конечно, вам может понадобиться RUN apt-get updateперед этим, но если вы создаете свой собственный файл Docker, у вас, вероятно, он уже есть.)
image
вы строите. Скорее всего,image
вы используете его настолько легче, что в нем есть только вещи, которые вам нужно запускать как изображение. Вам необходимо вручную установить нужные вам пакеты.Ответы:
войдите в контейнер с помощью следующей команды:
Затем выполните следующую команду.
источник
Ваш контейнер, вероятно, не установил его из коробки.
Запустите
apt-get install vim
терминал, и вы должны быть готовы к работе.источник
vim-tiny
(Ubuntu)apt-get update
ТОapt-get install vim
Команда для запуска зависит от того, какой базовый образ вы используете.
Для Alpine
vi
устанавливается как часть базовой ОС. Установкаvim
будет:Для Debian и Ubuntu:
Для CentOS
vi
обычно устанавливается вместе с базовой ОС. Дляvim
:Это следует делать только на ранней стадии разработки. Как только вы получите рабочий контейнер, изменения файлов должны быть внесены в ваш образ или конфигурации, хранящиеся вне вашего контейнера. Обновите свой Dockerfile и другие файлы, которые он использует для создания нового образа. Это определенно не следует делать в производственной среде, поскольку изменения внутри контейнера являются недолговечными и будут потеряны при замене контейнера.
источник
USER root
внутри Dockerfile делает это, но обязательно переключитесь обратно на другого пользователя. Я бегущий контейнер:docker exec -u root ...
ИСПОЛЬЗОВАТЬ ЭТО:
Объяснение вышеуказанной команды
источник
Добавьте следующую строку в свой Dockerfile, затем перестройте образ докера.
источник
В качестве альтернативы, уменьшите размер образов докеров, не устанавливая ненужных редакторов. Вы можете редактировать файлы через ssh с хоста докера в контейнер:
источник
Используйте команду ниже в контейнере на основе Debian:
Полная инструкция по использованию в Dockerfile:
Он не устанавливает ненужные пакеты и не удаляет ненужные загруженные файлы, поэтому размер вашего образа докера существенно не увеличивается.
источник
Чтобы установить в вашем контейнере Docker, вы можете запустить команду
Но это будет ограничено контейнером, в котором установлен vim. Чтобы сделать его доступным для всех контейнеров, отредактируйте Dockerfile и добавьте
или вы также можете расширить образ в новом Dockerfile и добавить команду выше. Например.
источник
Внутри контейнера (в докере, а не в виртуальной машине) по умолчанию они не установлены. Даже apt-get , wget работать не будет. Моя виртуальная машина работает на Ubuntu 17.10. Для меня ни пакета manaager работал.
Yum не является частью debian или ubuntu. Это часть красной шляпы. Но он работает в Ubuntu и по умолчанию устанавливается как apt-get
Tu install vim, используйте эту команду
Чтобы удалить vim:
По аналогии,
-y означает, что да, если будет предложено ввести любой запрос после выполнения yum install packagename
источник
Если вам действительно нужен небольшой редактор для простого обслуживания в докере, используйте его в своем Dockerfile:
Я использовал его на докере на базе Ubuntu 18. (Конечно, вам может понадобиться
RUN apt-get update
перед этим, но если вы создаете свой собственный файл Docker, у вас, вероятно, он уже есть.)источник
Если вам нужно изменить файл только один раз. Вы должны предпочесть вносить изменения локально и создать новый образ докера с этим файлом.
Скажем, в образе докера вам нужно изменить файл с именем myFile.xml в / path / на / docker / image /. Итак, что вам нужно сделать.
Затем создайте свой собственный образ докера с помощью
docker build -t docker-repo:v-x.x.x .
Затем используйте созданный вами образ докеры.
источник