#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. Пожалуйста, не дублируйте существующий ответ, проголосуйте за него.