[英]Docker Compose “ERROR: file not found”, but ubuntu shell can find the file
我正在嘗試獲取 Docker Compose 腳本來測試 python 程序。 下面是運行docker-compose命令的.sh。
#!/usr/bin/env bash
script_path=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
base_path=${script_path}/src
container_path=${base_path}/deploy/
docker_compose_path=${container_path}docker-compose.yml
sudo nano ${base_path}/tests/scrap/test_r.py
docker-compose -f "${docker_compose_path}" run service_name pytest -x ${base_path}/tests/scrap/test_r.py
docker-compose -f "${docker_compose_path}" down
運行時的問題是出現錯誤並顯示以下消息:
ERROR: file not found: /correct/path/to/test_r.py
注意:我檢查了很多次,路徑(絕對)是正確的。
該錯誤的奇怪之處在於 shell 可以毫無問題地找到它。 位於 docker-compose 頂部的 nano 命令完美運行,加載具有正確內容的文件。 盡管如此,使用相同的確切路徑,docker-compose 似乎無法找到它並執行它(已經嘗試 chmod +x test_r.py 但它不起作用。Docker Compose 根本找不到它)。
無論您需要什么額外的信息,您都可以詢問。 謝謝:P
注意:我不認為該項目在另一台運行 MacOS 的計算機上完美運行的事實是問題的根源。 我的電腦正在嘗試在 Ubuntu 環境中執行腳本。 如果考慮到這一點是朝着正確方向邁出的一步,我不知道如何解決這個問題。
編輯:添加文件 docker-compose.yml 的信息:
version: '3.5'
services:
service_name:
image: image_name
build:
context: ../
dockerfile: Dockerfile
tty: true
volumes:
- ../../../workers:/opt/workers/
working_dir: /opt/workers/src
env_file:
- ../local/worker.env
原來我所要做的就是更新 docker-compose.yml 文件中的“working_dir”路徑,以使其找到相應的 py 文件。 問題是我不知道我必須注意這些信息。 感謝@David Maze 問了我所有的問題。 有時問對的人指向正確的方向。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.