Запустите команду CLI OCI из файла Dockerfile - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть вопрос по поводу 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>

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

enter image description here

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

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

Ответы [ 2 ]

1 голос
/ 07 ноября 2019

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

1 голос
/ 07 ноября 2019

Похоже на проблему с путем, исполняемый файл команды запуска 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
...