Docker:由于缺少bash而无法在图像中编辑代码

时间:2019-06-18 14:05:42

标签: docker ubuntu

我在AWS服务器上运行Ubuntu 18。在该服务器中,我有一个Docker映像,我想在该映像仍在运行时更改其代码。

ubuntu@ip-172-31-6-79:~$ docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
fc                         latest              20949d0fd7ec        7 days ago          1.74GB
debian                     latest              8d31923452f8        5 weeks ago         101MB
ekholabs/face-classifier   latest              b1a390b8ec60        21 months ago       1.77GB

为了更改代码,我运行了以下命令

ubuntu@ip-172-31-6-79:~$ docker run -it fc bash

但是我收到以下错误

python3: can't open file 'bash': [Errno 2] No such file or directory

如何解决此问题,以便我可以在Docker映像中编辑代码。附带说明一下,这里是Dockerfile

FROM debian:latest

RUN apt-get -y update && apt-get install -y git python3-pip python3-dev python3-tk vim procps curl

#Face classificarion dependencies & web application
RUN pip3 install numpy scipy scikit-learn pillow tensorflow pandas h5py opencv-python==3.2.0.8 keras statistics pyyaml pyparsing cycler matplotlib Flask

ADD . /ekholabs/face-classifier

WORKDIR ekholabs/face-classifier

ENV PYTHONPATH=$PYTHONPATH:src
ENV FACE_CLASSIFIER_PORT=8084
EXPOSE $FACE_CLASSIFIER_PORT

ENTRYPOINT ["python3"]
CMD ["src/web/faces.py"]

1 个答案:

答案 0 :(得分:1)

问题出在您使用的dockerfile上

  

ENTRYPOINT [“ PYTHON3”]

这意味着您运行

  

docker run -it fc bash

它将在容器内转换为“ python3 bash”,这就是为什么您有错误

  

python3:无法打开文件'bash':[Errno 2]没有这样的文件或目录

尝试删除ENTRYPOINT

希望能解决问题。