簡體   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