Docker build no 没有那个文件或目录
Docker build no No such file or directory
从我正在尝试的目录 运行 命令
sudo docker-compose -f project/docker/docker-compose.yml up
这是我得到的错误
ubuntu@ip-172-31-90-166:~/tp3-securite-applicative$ sudo docker-compose -f project/docker/docker-compose.yml up
Recreating docker_api-service-track-1_1 ... done
Attaching to docker_api-service-track-1_1
api-service-track-1_1 | python path is:
api-service-track-1_1 | //project/
api-service-track-1_1 | running the following python program
api-service-track-1_1 | ./project/codeAPI/API.py ./project/codeAPI/front.py
api-service-track-1_1 | python3: can't open file '//./project/codeAPI/API.py': [Errno 2] No such file or directory
api-service-track-1_1 | python3: can't open file '//./project/codeAPI/front.py': [Errno 2] No such file or directory
这是我的 Dockerfile
FROM python:3
ADD ./run.sh /
ADD ./requirements.txt /
RUN pip3 install -r ./requirements.txt
CMD ["./run.sh", "./project/codeAPI/API.py", "./project/codeAPI/front.py"]
这是我的docker-compose.yml
version: '3'
services:
api-service-track-1:
build:
context: ../../
dockerfile: ./project/docker/Dockerfile
image: img_track1
volumes:
- ./:/mnt/app
ports:
- 5551:5551
tty: true
我在 run.sh
中定义了我的 python 路径
#!/bin/bash
export PYTHONPATH=$PWD/project/
echo python path is:
echo $PYTHONPATH
echo running the following python program
echo $@
python3 ""
python3 ""
requirements.txt 包含一堆导入。
我尝试了多种方法来调整我的 python 路径,方法是修改我的 run.sh 和我的 Dockerfile,但我找不到我的 front.py 和 API.py。是我不明白路径的概念还是遗漏了一些明显的东西?
Saikiran Rudra 更正后编辑 1:
ubuntu@ip-172-31-90-166:~/tp3-securite-applicative$ sudo docker-compose -f project/docker/docker-compose.yml up
Creating network "docker_default" with the default driver
Creating docker_api-service-track-1_1 ... done
Attaching to docker_api-service-track-1_1
api-service-track-1_1 | python path is:
api-service-track-1_1 | //project/
api-service-track-1_1 | running the following python program
api-service-track-1_1 | ./project/codeAPI/API.py ./project/codeAPI/front.py
api-service-track-1_1 | /usr/local/bin/python3: can't find '__main__' module in '//./project/codeAPI/API.py'
api-service-track-1_1 | /usr/local/bin/python3: can't find '__main__' module in '//./project/codeAPI/front.py'
我遇到了类似的问题试试这个对我有用
在卷部分的 docker-compose.yml 中添加此行
volumes:
- ./:/mnt/app
- /project/codeAPI/API.py
- /project/codeAPI/front.py
从我正在尝试的目录 运行 命令
sudo docker-compose -f project/docker/docker-compose.yml up
这是我得到的错误
ubuntu@ip-172-31-90-166:~/tp3-securite-applicative$ sudo docker-compose -f project/docker/docker-compose.yml up
Recreating docker_api-service-track-1_1 ... done
Attaching to docker_api-service-track-1_1
api-service-track-1_1 | python path is:
api-service-track-1_1 | //project/
api-service-track-1_1 | running the following python program
api-service-track-1_1 | ./project/codeAPI/API.py ./project/codeAPI/front.py
api-service-track-1_1 | python3: can't open file '//./project/codeAPI/API.py': [Errno 2] No such file or directory
api-service-track-1_1 | python3: can't open file '//./project/codeAPI/front.py': [Errno 2] No such file or directory
这是我的 Dockerfile
FROM python:3
ADD ./run.sh /
ADD ./requirements.txt /
RUN pip3 install -r ./requirements.txt
CMD ["./run.sh", "./project/codeAPI/API.py", "./project/codeAPI/front.py"]
这是我的docker-compose.yml
version: '3'
services:
api-service-track-1:
build:
context: ../../
dockerfile: ./project/docker/Dockerfile
image: img_track1
volumes:
- ./:/mnt/app
ports:
- 5551:5551
tty: true
我在 run.sh
中定义了我的 python 路径#!/bin/bash
export PYTHONPATH=$PWD/project/
echo python path is:
echo $PYTHONPATH
echo running the following python program
echo $@
python3 ""
python3 ""
requirements.txt 包含一堆导入。
我尝试了多种方法来调整我的 python 路径,方法是修改我的 run.sh 和我的 Dockerfile,但我找不到我的 front.py 和 API.py。是我不明白路径的概念还是遗漏了一些明显的东西?
Saikiran Rudra 更正后编辑 1:
ubuntu@ip-172-31-90-166:~/tp3-securite-applicative$ sudo docker-compose -f project/docker/docker-compose.yml up
Creating network "docker_default" with the default driver
Creating docker_api-service-track-1_1 ... done
Attaching to docker_api-service-track-1_1
api-service-track-1_1 | python path is:
api-service-track-1_1 | //project/
api-service-track-1_1 | running the following python program
api-service-track-1_1 | ./project/codeAPI/API.py ./project/codeAPI/front.py
api-service-track-1_1 | /usr/local/bin/python3: can't find '__main__' module in '//./project/codeAPI/API.py'
api-service-track-1_1 | /usr/local/bin/python3: can't find '__main__' module in '//./project/codeAPI/front.py'
我遇到了类似的问题试试这个对我有用
在卷部分的 docker-compose.yml 中添加此行
volumes:
- ./:/mnt/app
- /project/codeAPI/API.py
- /project/codeAPI/front.py