2015-04-09 2 views
2

Я пытался создать свой собственный BusyBox базовый образОшибка: не удается запустить Контейнер: стат/бен/ш: нет такого файла или каталога»

# ./mkimage.sh -t pensu/busybox busybox-static 
+ mkdir -p /var/tmp/docker-mkimage.US3tHy0uBQ/rootfs 
+ tar --numeric-owner -caf /var/tmp/docker-mkimage.US3tHy0uBQ/rootfs.tar.xz -C /var/tmp/docker-mkimage.US3tHy0uBQ/rootfs '--transform=s,^./,,' . 
+ cat > '/var/tmp/docker-mkimage.US3tHy0uBQ/Dockerfile' 
+ rm -rf /var/tmp/docker-mkimage.US3tHy0uBQ/rootfs 
+ docker build -t pensu/busybox /var/tmp/docker-mkimage.US3tHy0uBQ 
Sending build context to Docker daemon 863.2 kB 
Sending build context to Docker daemon 
Step 0 : FROM scratch 
---> 
Step 1 : ADD rootfs.tar.xz/
---> 8eac78bfc9d6 
Removing intermediate container ad9bbb8f7536 
Successfully built 8eac78bfc9d6 
+ rm -rf /var/tmp/docker-mkimage.US3tHy0uBQ 

Я могу видеть изображение доступно с моим грузчиком. . Сделки рЕПО

# docker images 
REPOSITORY   TAG     IMAGE ID   CREATED    VIRTUAL SIZE 
pensu/busybox  latest    8eac78bfc9d6  7 seconds ago  2.476 MB 

Но когда я пытаюсь сделать Docker бежать, я всегда получаю ошибку:

# docker run -it pensu/busybox /bin/sh 
exec: "/bin/sh": stat /bin/sh: no such file or directorytime="2015-04-09T16:03:45+05:30" level="fatal" msg="Error response from daemon: Cannot start container 8fe73b7832193c847d7975175a4be86d1f0b550b6a00b812bd4cdd18fe752468: exec: \"/bin/sh\": stat /bin/sh: no such file or directory" 

Я не могу понять, почему он дает эту ошибку? Я делаю что-то неправильно? Как еще я могу проверить, что я создаю правильное изображение, находящееся в рабочем состоянии?

ответ

0

У вас нет оболочки в/bin/sh? Вы пробовали docker run -it pensu/busybox /usr/bin/sh?

+0

Да, я сделал. Это тот же результат. – Pensu

+0

это напоминает мне о https://github.com/docker/docker/issues/5135 – user2915097

2

После создания образа, проверить его:

$ докера инспектировать $ имя_образа

и проверить, что у вас есть в опции CMD, для занятого поля должна быть: «Cmd»: [ "/бен/ш» ] Может быть, вы overwritting вариант CMD в вашем ./mkimage.sh

+0

"Cmd": [ "/ бен/ш", "-c", «# (NOP) Добавить файл: 905ed83e56295de9b6eb24708b583e78e4e9a06d3a80184276b55b5db04d70aa in/" ], это/bin/sh только. – Pensu

+0

Если вы хотите запустить контейнер, вы должны указать задачу, которая будет выполняться контейнером, теперь выполняется доккер/bin/sh. Например, если вы хотите запустить банку внутри контейнера, попробуйте java -jar yourjar.jar – wsl

+0

Вот о чем я думаю. Невозможно ли получить интерактивную оболочку с изображением busybox? Что еще я могу запустить внутри контейнера busybox? – Pensu

-1

Явное упомянуть версию Ubuntu в файле докер, который вы пытаетесь запустить,

FROM ubuntu:14.04 

Не используйте как FROM ubuntu:Latest. Это разрешило мое выше «Не удается запустить контейнер: stat/bin/sh: no такой файл или каталог» вопрос