我有像这样的dockerfile
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get install -y software-properties-common vim
RUN add-apt-repository ppa:jonathonf/python-3.6
RUN apt-get update
RUN mkdir /app
WORKDIR /app
ADD test_write.py /app/
RUN chmod 777 test_write.py
RUN python3.6 test_write.py
RUN cat media/test.txt
test_write.py脚本创建test.txt文件并将内容写入该文件。 问题是,当我运行docker build时,一切运行正常,但是当我登录到Docker容器后,我看不到脚本创建的test.txt文件。我做错了吗?
这是test_write.py脚本的输出。我不能在这里编写整个dockerfile ..所以只需输出test_write.py脚本命令的输出。
```
Removing intermediate container dec90eb251e5
Step 22/24 : RUN python3.6 test_write.py
---> Running in 96b8b7a9f6eb
Running ....
---> 555e4e86be11
Removing intermediate container 96b8b7a9f6eb
Step 23/24 : RUN cat media/test.txt
---> Running in 6ffd8a8e63e3
Written to file using docker ---> f502a63cd760
Removing intermediate container 6ffd8a8e63e3
```
答案 0 :(得分:0)
我复制/粘贴你的Dockerfile并收到以下错误。
Step 10/11 : RUN python3.6 test_write.py
---> Running in 4ef189b481ea
/bin/sh: 1: python3.6: not found
The command '/bin/sh -c python3.6 test_write.py' returned a non-zero code: 127
不确定你是如何按照书面工作的。也许尝试类似的事情:
FROM python:3.6-stretch
RUN mkdir /app
WORKDIR /app
ADD test_write.py /app/
RUN python test_write.py
RUN cat media/test.txt
或者,注释掉Dockerfile的最后两行,然后启动它并手动运行python脚本以查看它是否有效。也许它将输出文件写入不同的位置或什么的。
答案 1 :(得分:0)
抱歉,这是我的错误......在我的码头工作室中,我正在使用像这样的卷
volumes:
- .:/app
运行'docker-compose up'之后,app目录包含docer中的本地目录结构 很抱歉发布了无效的问题