Запустите команду OCI CLI из файла dockerfile

У меня вопрос по Oracle OCI CLI. Я создаю образ (LINK), содержащий все необходимое для начала работы с облаком оракула. Вам нужно изменить файл конфигурации, чтобы начать использовать все из облака Oracle.

Или вы можете настроить облачную среду ora с помощью:

oci setup config

но я хочу выполнить некоторые команды OCI с помощью dockerfile, но это действительно сложно, я не могу работать. Я делаю это

FROM juliovg/oracle-oci-19
ENV HOME_DIR=/root \ 
CODE_DIR=/root/sample/code \
BUCKET_NAME=Code
WORKDIR $HOME_DIR
RUN rm -rf $HOME_DIR/.oci
RUN wget "<.OCI_FILE_URL_UPLOADED_INTO_A_BUCKET>/my_key.tar.gz"
RUN tar -xvf my_key.tar.gz && rm -rf my_key.tar.gz
RUN mkdir -p $CODE_DIR
RUN cd $CODE_DIR
RUN touch my_file.txt

RUN oci os bucket create -c <MY_COPARTMENT> --name <NEW_BUCKET_NAME>

И это ошибка ->

введите здесь описание изображения

Мне нужно выполнить некоторые команды OCI в начале с помощью RUN или CMD (я пробую оба)

Примечания: OCI_FILE_URL_UPLOADED_INTO_A_BUCKET - это zip-файл, содержащий конфигурацию, созданную с другим компьютером, идея состоит в том, чтобы использовать один и тот же ключ с несколькими пользователями, когда использование juliovg / oracle-oci-19 с другим думает


person Julio    schedule 07.11.2019    source источник
comment
Прочтите При каких обстоятельствах я могу добавить фразу «срочно» или другие похожие фразы к моему вопросу, чтобы получить более быстрые ответы? - Резюмируя, можно сказать, что это не идеальный способ обращения к волонтерам и, вероятно, контрпродуктивен для получения ответов. Пожалуйста, воздержитесь от добавления этого к своим вопросам.   -  person halfer    schedule 08.11.2019


Ответы (2)


Похоже на проблему пути, исполняемый файл вызова команды RUN в dockerfile, например /bin/sh -c executable. поэтому лучше указать полный путь к исполняемому файлу, например RUN /root/bin/oci -v.

FROM juliovg/oracle-oci-19
ENV HOME_DIR=/root \ 
CODE_DIR=/root/sample/code \
BUCKET_NAME=Code
WORKDIR $HOME_DIR
RUN rm -rf $HOME_DIR/.oci
RUN mkdir -p $CODE_DIR
RUN cd $CODE_DIR
RUN touch my_file.txt
ENV LC_ALL=en_US.utf-8
ENV LANG=en_US.utf-8
RUN /root/bin/oci -v
RUN /root/bin/oci os bucket create -c MY_COPARTMENT --name NEW_BUCKET_NAME
person Adiii    schedule 07.11.2019

Следует учитывать, что контейнер может не знать о местонахождении исполняемого файла OCI CLI. Вы должны указать ему полный путь к OCI CLI в Dockerfile.

person jasper    schedule 07.11.2019