sách gpt4 ai đã đi

docker - 传递--env变量现在可以与ENTRYPOINT一起使用

In lại 作者:行者123 更新时间:2023-12-02 19:29:51 37 4
mua khóa gpt4 Nike

我有一个基本的docker镜像,我将以此为基础构建自己的镜像。我没有基础镜像的Dockerfile。

基本上,基本镜像使用两个--env arg,一个接受其许可证,一个选择在容器中激活哪个框架。我可以在没有ENTRYPOINTBẰNGdocker run -it -p xxxx:xxxx --env ARG1=x --env ARG2=y /bin/bash的情况下运行我的容器,然后运行将在容器内的ENTRYPOINT中运行的脚本,这没有问题。完美无瑕。但!我想使其与ENTRYPOINT ["/bin/bash", "-c", "myscript.sh"]一起使用,这样我每次运行它时都不必进入容器。当我使用自己的入口点时,就像容器忽略了我的输入--env ARG1=x --env ARG2=y.

基本镜像是否有自己的ENTRYPOINT寻找这些环境变量?有什么方法可以确保基本镜像静止图像运行其启动脚本,然后再运行?

của tôiDockerfile:

FROM base-img

USER root

RUN apt-get update -y && apt-get upgrade -y \
&& apt-get install -y nano \
apache2 \
iputils-ping \
vim \
emacs


USER user1

ENV PATH="/opt/anaconda3/bin:${PATH}"

RUN conda install jupyter notebook -y

COPY jupyter_notebook_config.py /home/user1/.jupyter/

COPY run-jupyter.sh /home/user1

WORKDIR /home/user1

#ENTRYPOINT ["/bin/bash", "-c", "/home/user1/myscript.sh"]

我什至尝试在 ~/.bashrc中回显它们,但是没有起作用...
就像我上面说的,我担心基本镜像中有一些脚本会在启动时运行,具体取决于 ARG2设置为什么。

1 Câu trả lời

使用以下命令检查基本图像的ENTRYPOINT:

docker inspect --format='{{.Config.Entrypoint}}' BASEIMAGE

(将 BASEIMAGE替换为基本图像的名称。)

如果您在自己的 ENTRYPOINT中包含基本镜像的 ENTRYPOINT命令,则可能会起作用。

关于docker - 传递--env变量现在可以与ENTRYPOINT一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52647267/

37 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com