Search code examples
pythonpython-3.xdockercontainersdocker-machine

Write files outside of a docker container via python


Is there a way to write files (json in this case) to outside of the docker container? I'm taking about the most simple way, for example:

data = {"id":"1","name":"sample"}
with open('name.json','w') as fp:
   json.dump(data,fp,indent=4)

is there a way to make this write outside of the docker container? or in a specific place? or to save it on a specific path on the system that the container will run on?


Solution

  • Let's assume

    • your python script has the location /app/myscript.py in your docker container.
    • the location for where your python script should write the files is /home/jon/result_files/
    • your docker image is called mypyimg

    Then you can use volumes to mount a host location when starting your container:

    docker run -d \
      --name my_py_container \
      -v /home/jon/result_files:/app \
      mypyimg