I believe there is an easy way to copy files into a docker volume that has already been mounted to a container.
docker cp /tmp/my_data/. my_container:/my_data
To bind volumes between container and host machine. The most easy way is to use volume mounting. With which we can setup your container before starting it, (its images, ports, ..etc)
To build the container from an image: docker-compose build To start the container : docker-compose up
Volumes key in the docker-compose file is used to set the binding. which means when we update the content of volumes in the container it will persist even after stopping the container.
We can bind volumes from a local dir or from a named docker volume see the exmple below
We can use COPY or ADD in your Dockerfile to make the content of your local diroctory available in the docker container.
read docs here
version: "3.2"
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- type: volume
source: mydata
target: /data
volume:
nocopy: true
- type: bind
source: ./static
target: /opt/app/static
networks:
webnet:
volumes: