Невозможно использовать vim, vi, nano, yum внутри контейнера докера

Запустил приложение, занесенное в приложение, которое называется nginx, а затем выполнило bash внутри него. К моему святому удивлению я не могу найти vim, vi или даже yum внутри этого контейнера.

Пожалуйста, простите меня, поскольку я очень много нового для докеров и обучения.

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

docker run -d --name=my_nginxtemp nginx
docker exec -i -t my_nginxtemp bash
docker commit my_nginxtemp my_nginx

Мой хост - Ubuntu 16.04, и я использую последний docker-engine и docker cli

[email protected]:/home/jim/web# docker version
Client:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 22:00:43 2016
OS/Arch: linux/amd64

Server:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 22:00:43 2016
OS/Arch: linux/amd64
[email protected]:/home/jim/web#

Пожалуйста, не заходите на мое имя хоста, которое я обновил с 15.04: light_smile:

[email protected]:/home/jim/web# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial
[email protected]:/home/jim/web#

Любая помощь будет очень оценена.

Ответ 1

Обновление sudo apt-get
sudo apt-get install vim

У меня была такая же проблема. Я выполнил два простых шага выше, и это сработало как шарм.

Ответ 2

К моему святому удивлению я не могу найти vim, vi или даже yum внутри этого контейнера.

Это просто зависит от nginx image и его базового изображения: если vim никогда не был установлен там, ваш контейнер не найдет он.

Вы можете создать свой собственный образ, начиная с nginx и добавления необходимого вам программного обеспечения.

FROM nginx
RUN apt-get update
RUN apt-get install vim

Ответ 3

Вы можете создать файл Docker для использования изображения докеры nginx и изменить его, если хотите добавить...

FROM nginx
RUN ["apt-get","update"]
RUN ["apt-get","install","-y","vi"]