Size: a a a

RU.Docker — Официальное Русское Сообщество

2019 December 03

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
Timofey Naumenko
Я почитал доку. Насколько я понял, CMD и ENTRYPOINT нужны для выполнения команд вне Dockerfile, с помощью docker run. Да, в манах не нашел COMMAND, только CMD. Мне же нужно подтянуть переменные среды из .bashrc. Если есть какие-то еще способы выставить их так, чтобы они подействовали в команде RUN внутри докерфайла - буду благодарен за информацию.
да, CMD, все верно.
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
Timofey Naumenko
Я почитал доку. Насколько я понял, CMD и ENTRYPOINT нужны для выполнения команд вне Dockerfile, с помощью docker run. Да, в манах не нашел COMMAND, только CMD. Мне же нужно подтянуть переменные среды из .bashrc. Если есть какие-то еще способы выставить их так, чтобы они подействовали в команде RUN внутри докерфайла - буду благодарен за информацию.
> Насколько я понял, CMD и ENTRYPOINT нужны для выполнения команд вне Dockerfile, с помощью docker run.
да, при запуске контейнера из образа. Верно
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
> Мне же нужно подтянуть переменные среды из .bashrc. Е
для чего - ответь на этот вопрос? У тебя переменные не сохраняются в процессе docker build при переходе к следующему слою
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
странно, что ты это еще не понял.
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
т.е. если они тебе нужны на этапе build (что из контекста неочевидно) - ну, получается, нужно весь блок команд, где нужны переменные - держать в одном RUN
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
типо RUN source blablabla && command1 && command2 && ....
источник

TN

Timofey Naumenko in RU.Docker — Официальное Русское Сообщество
George Gaál
т.е. если они тебе нужны на этапе build (что из контекста неочевидно) - ну, получается, нужно весь блок команд, где нужны переменные - держать в одном RUN
Так у меня так и есть
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
а вот в следующем RUN их уже не будет
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
а теперь объясни, что за задачу ты таким костылем решаешь
источник

TN

Timofey Naumenko in RU.Docker — Официальное Русское Сообщество
Ага, собственные сообщения не дает форвардить отсюда же. ОК)
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
> RUN echo 'CUDAROOT=/usr/local/cuda-10.0' >> ~/.bashrc
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
это делается проще
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
ENV CUDAROOT=/usr/local/cuda-10.0
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
и все
источник

D🐈

Dan 🐈 Capybara in RU.Docker — Официальное Русское Сообщество
Timofey Naumenko
Ага, собственные сообщения не дает форвардить отсюда же. ОК)
Ты ж новенький, вот бот и режет
источник

TN

Timofey Naumenko in RU.Docker — Официальное Русское Сообщество
George Gaál
ENV CUDAROOT=/usr/local/cuda-10.0
Из доки:
Environment variables are supported by the following list of instructions in the Dockerfile:
...
в этом списке есть ADD, COPY, и много других, но нет RUN.
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
George Gaál
ENV CUDAROOT=/usr/local/cuda-10.0
попробуй так. Окей?
источник

TN

Timofey Naumenko in RU.Docker — Официальное Русское Сообщество
George Gaál
попробуй так. Окей?
Ок
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
можешь вообще колбасу сделать
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
ARG CUDA_ROOT=/usr/local/cuda-10.0
ENV CUDA_ROOT=$CUDA_ROOT
источник