从dockerfile

我对Oracle OCI CLI有疑问。我创建了一个图像(LINK),其中包含开始使用oracle cloud所需的所有内容。您只需修改配置文件即可开始使用Oracle云中的所有文件。

或者您可以通过以下方式设置ora云环境:

oci setup config

但是我想用dockerfile执行一些OCI命令,但是确实很复杂,我无法做到这一点。我正在这样做

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>

这是错误->

从dockerfile

我需要在以RUN或CMD开头时执行一些OCI命令(我会同时尝试)

注意:OCI_FILE_URL_UPLOADED_INTO_A_BUCKET是一个zip文件,其中包含与另一台计算机进行的配置,其构想是与多个用户共享同一密钥,当与另一个计算机使用 juliovg / oracle-oci-19 认为

sjhranran 回答:从dockerfile

似乎是路径问题,dockerfile RUN命令调用可执行文件,例如/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
,

您应该考虑到容器可能不知道OCI CLI可执行文件的位置。您应该在Dockerfile中为其提供OCI CLI的完整路径

本文链接:https://www.f2er.com/3144301.html

大家都在问