Запуск образа docker, созданного из Dockerfile, ничего не делает

#docker #dockerfile

#docker #dockerfile

Вопрос:

Я использую этот Dockefile, скопированный отсюда

 #we are using ubuntu base image
FROM ubuntu:18.04
# installing requirements to get and extract prebuilt binaries
RUN apt-get update amp;amp; apt-get install -y 
 xz-utils 
 curl 
 amp;amp; rm -rf /var/lib/apt/lists/*
#Getting prebuilt binary from llvm 
RUN curl -SL https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz 
 | tar -xJC . amp;amp; 
 mv clang llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04 clang_10 amp;amp; 
 echo ‘export PATH=/clang_10/bin:$PATH’ >> ~/.bashrc amp;amp; 
 echo ‘export LD_LIBRARY_PATH=/clang_10/lib:$LD_LIBRARY_PATH’ >> ~/.bashrc
#start the container from bash
CMD [ “/bin/bash” ]
 

Затем я запускаю

 docker build -t clang_10 .
 

Это работает. С хорошо созданным изображением clang_10.

Но затем я запускаю

 docker run -it clang_10
 

Ничего не происходит! Консоль не переключается на приглашение Linux, как ожидалось. Где что-то пошло не так?

Ответ №1:

Проблема заключается в типах кавычек: используйте " вместо .

Измените последнюю строку с

 CMD [ “/bin/bash” ]
 

Для

 CMD [ "/bin/bash" ]
 

Комментарии:

1. Я полагаю, что одинарные кавычки в echo command ( ) также следует заменить на '

2. @DennisMeissel Хорошо заметил! Да, действительно, в процессе ВЫПОЛНЕНИЯ следует заменить на ' .

Ответ №2:

измените CMD на CMD [ «/bin/ bash» ] или [«/bin / sh»]

Комментарии:

1. Пожалуйста, не дублируйте существующий ответ, проголосуйте за него.