2015-07-20 4 views
16

Я установил докер на свою виртуальную машину. И теперь вы хотите создать файл, используя vi.Как запустить vi на докер-контейнере?

Но он показывает мне ошибку:

bash: vi: command not found 
+0

vi не может быть установлен внутри контейнера. Какой контейнер вы установили и запустили? –

+0

Вы должны быть более конкретными. Вы пытаетесь запустить vi внутри контейнера, если это так, на каком изображении находится контейнер? По всей видимости, вы не установили vi. (apt-get install vim) – wpp

+0

Это зависит от того, с какого «образа» вы строите. Скорее всего, «образ», который вы используете, настолько светлее, что у него есть только то, что вам нужно для запуска в качестве изображения. Вам необходимо вручную установить нужные вам пакеты. – illusionist

ответ

18

Ваш контейнер, вероятно, не установили его из коробки.

Запустите apt-get install vim в терминале, и вы должны быть готовы к работе.

+0

Да, но я предпочитаю 'vim-tiny' (Ubuntu) –

+8

Не забудьте сначала запустить' apt-get' обновление. – AVProgrammer

10

Войти в контейнер с помощью следующей команды:

docker exec -it <container> bash 

Затем запустите следующую команду.

apt-get update 
apt-get install vim 
0

В качестве альтернативы, уменьшите ваши изображения докеров, не устанавливая ненужных редакторов. Вы можете редактировать файлы через SSH из Докер хоста контейнера:

vim scp://[email protected]//path/to/document 
0

Команда для запуска зависит от того, какой базовый образ, который вы используете.

Для Alpine vi установлен как часть базовой ОС. Установка vim будет:

apk -U add vim 

Для Debian и Ubuntu:

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

Для CentOS, vi обычно устанавливается вместе с базовой операционной системой. Для vim:

yum install -y vim 

Это должно быть сделано только в начале разработки. После того, как вы получите рабочий контейнер, изменения в файлах должны быть сделаны на вашем изображении или в конфигах, хранящихся вне вашего контейнера. Обновите файл Docker и другие файлы, которые он использует для создания нового изображения. Это, безусловно, не должно быть сделано в производстве, так как изменения внутри контейнера являются эфемерными конструкциями и будут потеряны при замене контейнера.

0

Чтобы установить в пределах вашего Докер контейнера вы можете запустить команду

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

Но это будет ограничено контейнером, в котором установлен ВИМ. Чтобы сделать его доступным для всех контейнеров, редактировать Dockerfile и добавить

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

или вы можете также расширить изображение в новом Dockerfile и добавить выше команды. Например.

FROM < image name >

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

Смежные вопросы