I have a few running docker containers created by executing docker-compose up
.
Is there any way to get the exact file path of the corresponding docker-compose.yml file used to start these containers, just by inspecting the running containers?
As far as I can see, docker inspect CONTAINER_NAME
does not provide this information, nor does docker-compose provide a method to get compose-related information from a running container.
What I'd like to do in a script:
The Compose file is a YAML file defining services, networks and volumes. The default path for a Compose file is ./docker-compose.
The answer to this question seems to have changed with new versions of docker-compose. There is a label "com.docker.compose.project.working_dir": "/var/opt/docker",
that points to the directory where I started docker-compose. I have not checked if that is pwd
or the actual location of the docker-compose.yml file.
This got me interesting information about docker-compose:
samuel@vmhost1:~$ docker inspect fc440a1afbaa | grep com.docker.compose "com.docker.compose.config-hash": "89069285a4783b79b421ea84f2b652becbdee148fbad095a6d9d85aab67ececc", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "docker", "com.docker.compose.project.config_files": "docker-compose.yml", "com.docker.compose.project.working_dir": "/var/opt/docker", "com.docker.compose.service": "jenkins", "com.docker.compose.version": "1.25.0" samuel@vmhost1:~$
I'm running docker-compose.yml configuration version 3.6
It is not currently possible.
As an alternative might find the following helpful:
docker ps -a | grep <certain_container>
locate docker-compose.yml
and find the one that you wantdocker-compose restart
(do docker-compose
to see option)If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With