docker-compose: define mount for bind mount and managed mount
Although I am answering very late. But maybe it helps other people in future.Below is the configuration for both types. https://docs.docker.com/compose/compose-file/compose-file-v3/#volumes
version: "3.2"services: web: image: httpd:latest volumes: - type: bind source: $HOST/location target: /container/location - type: volume source: mydata target: /container/locationvolumes: mydata:
You can find these Docker concepts in the volumes
section of Docker Compose: https://docs.docker.com/compose/compose-file/#/volumes-volumedriver
Examples:
volumes: # Just specify a path and let the Engine create a volume - /container/location # Specify an absolute path mapping - ./myfolder/location:/container/location
I know it's late to answer but I'm mostly writing this for the community.
Answer:
You only need to do it like this:
volumes: - ./root/instantclient_12_2/ojdbc8.jar:/etc/kafka-connect/jars/ojdbc8.jar - type: bind source: $HOST/etc target: /kernel-etc
Then, for running it in 'easy to debug mode' do it first with docker-compose up
and when you made sure it was working fine put a ring on it by adding a -d
at the end.
Important Notes
1-Make sure your docker-compose
version is at least 3.2
and in my case, it is3.7
.for updating and getting rid of the old version do as below:
sudo apt-get remove docker-composesudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composesudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Source: https://github.com/10up/wp-local-docker/issues/58#issuecomment-476786006
2- Don't forget to rm
your old container so you don't face weird port-related issues.heres how:
docker container stop YOUR_CONTAINER_IDdocker container rm YOUR_CONTAINER_ID
Good luck.