Hello all !

I have a docker image that you can run with:

docker compose -f compose_10f.yml up

The compose_10f.yml looks like this:

services:
  setup:
    image: tenfingers_10f:v1
    volumes:
      - ./:/data
    working_dir: /data/

Which makes the image believe it runs in ./ so if it saves “./hello” it will be saved in the folder where it’s launched (it works).

The thing is, it’s a command line program (named 10f.py), not a server or such, so I’d like to run it like this:

docker run -v ./:/data -w /data/ tenfingers_10f:v1 10f.py

And it works with the exception it doesn’t get to run in the mounted ./ folder.

It confuses the “mount” (or I’m just lucky the compose file works?) and it believes it lives in /data/, not in ./

python3: can't open file '/data/10f.py': [Errno 2] No such file or directory

I did struggle to set this up in the compose file, but I’d like to make the images run in a specific directory thinking they are in ./

Any ideas how I can figure this out?

Cheers and thank you so much!

Valmond

  • @ValmondOP
    link
    126 days ago

    Thanks again, I think I have to bite the bullet and rewrite my programs so they can work in a folder, but I’ll check out your suggestions first 😊 !