运行 来自 dockerfile 的 OCI CLI 命令
Run OCI CLI command from dockerfile
我对 Oracle OCI CLI 有疑问。我创建了一个图像 (LINK),其中包含开始使用 Oracle 云所需的一切。您必须修改配置文件才能开始使用 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>
这是错误 -->
我需要在开始时使用 运行 或 CMD 执行一些 OCI 命令(我都尝试了)
注意:OCI_FILE_URL_UPLOADED_INTO_A_BUCKET 是一个 zip 文件,其中包含用另一台计算机进行的配置,其想法是与多个用户共享相同的密钥,当使用 juliovg/oracle-oci-19 与另一个想法
似乎是路径问题,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
您应该考虑到容器可能不知道 OCI CLI 可执行文件的位置。您应该在 Dockerfile
中为其提供 OCI CLI 的完整路径
我对 Oracle OCI CLI 有疑问。我创建了一个图像 (LINK),其中包含开始使用 Oracle 云所需的一切。您必须修改配置文件才能开始使用 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>
这是错误 -->
我需要在开始时使用 运行 或 CMD 执行一些 OCI 命令(我都尝试了)
注意:OCI_FILE_URL_UPLOADED_INTO_A_BUCKET 是一个 zip 文件,其中包含用另一台计算机进行的配置,其想法是与多个用户共享相同的密钥,当使用 juliovg/oracle-oci-19 与另一个想法
似乎是路径问题,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
您应该考虑到容器可能不知道 OCI CLI 可执行文件的位置。您应该在 Dockerfile
中为其提供 OCI CLI 的完整路径