繁体   English   中英

在 conda 里面运行文件 docker

[英]Run file in conda inside docker

我有一个 python 代码,我试图将其包装在 docker 中:

FROM continuumio/miniconda3
# Python 3.9.7 , Debian (use apt-get)
ENV TARGET=dev
RUN apt-get update
RUN apt-get install -y gcc
RUN apt-get install dos2unix

RUN apt-get install -y awscli
RUN conda install -y -c anaconda python=3.7

WORKDIR /app

COPY . .

RUN conda env create -f conda_env.yml

RUN echo "conda activate tensorflow_p36" >> ~/.bashrc

RUN pip install -r prod_requirements.txt
RUN pip install -r ./architectures/mask_rcnn/requirements.txt


RUN chmod +x aws_pipeline/set_env_vars.sh
RUN chmod +x aws_pipeline/start_gpu_aws.sh

RUN dos2unix aws_pipeline/set_env_vars.sh
RUN dos2unix aws_pipeline/start_gpu_aws.sh

RUN aws_pipeline/set_env_vars.sh $TARGET

构建图像工作正常,使用以下命令运行图像工作正常:

docker run --rm --name d4 -dit pd_v2 sh 

我的操作系统在windows11,当我使用docker桌面“CLI”按钮进入容器时,我需要做的就是输入“bash”,conda环境“tensorflow_p36”被激活,我可以运行我的代码。 当我以下列方式尝试 docker exec 时:

docker exec  d4 bash && <path_to_sh_file>

我得到一个文件不存在的错误。

这里缺少什么? 谢谢

不会bash && <path_to_sh_file>输入一个 bash shell,成功退出,然后尝试在一个新的 shell 运行你的 sh 文件? 我觉得放#! /usr/bin/bash #! /usr/bin/bash作为你的 sh 文件的第一行,并确保 sh 文件具有可执行权限chmod a+x <path_to_sh_file>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM