Why does the docker container does not run? - docker

I built a container on a private server running the command docker build -t image-name . and then ran it docker run -it image-name. But when I check the container list docker ps, it doesn't show.

Probably the container is failing to start and is not listed in the active containers of your server.
Try to check the status of all your containers with docker ps -a docker ps.
See the logs of the container using docker logs.

Related

docker compose inside docker causes error

I am working in a task where I am having to use docker compose inside a docker container. When I perform docker compose --file setup.yaml, I get the following error.
no valid drivers found: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Is there a way to resolve this error?
What I have tried:
I looked at a few documentation on the internet and I am performing a volume mount of the path to socket daemon as follows,
docker run -v /var/run/docker.sock:/var/run/docker.sock -it -d <container_id>
But after this command, the container exits after a while. Not sure if the approach is correct.

How to build a docker image in wsl2?

I'm using docker in wsl2. I followed this guide for the setup and everything covered therein seems to work.
Now when I try to build a docker image in wsl2 with docker build . I get the error Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
I assume that I have to tell docker build on which IP the docker host is running (similar to docker -H 172.20.5.64 run --rm hello-world), but I have no idea how to do this?
I had the same problem, here is the solution, that worked for me:
I had to stop docker
sudo docker service stop
I had to start docker daemon
sudo dockerd
I had to stop docker daemon by pressing ctrl + z
Than i had to move the process in the background
bg %1
Then I was able to restart docker
sudo docker service start
After that, I did no longer get an error.
I hope this works for you too.

The URL is not working after running the container in Docker Toolbox

I pulled the docker container from the docker hub. After running the container, it gave me two links which should direct me to my desired page but both links show "the site can't be reached. I am using the following command: docker run 'name of the container'
I am working in the Docker toolbox in windows 10 home version.
Any help is highly appreciated
few Things first, docker hub has images that you pull and then using those images you start a container.
to start a container using the command - docker run -p 8080:8080 -d <image-name>
here -d is for a detached container so that it does not stop with the shell.
and -p is port that you want to be linked to your localhost port.
Your container would be in running state. check by the command docker ps.
Hope this helps. First answer on StackOverflow.

How to see the logs of docker container running on different ports

I am running single docker container on two different ports using below command
docker run -p ${EXTERNAL_PORT_NUMBER}:${INTERNAL_PORT_NUMBER} -p ${EXTERNAL_PORT_NUMBER_SECOND}:${INTERNAL_PORT_NUMBER_SECOND} --network ${NETWORK} --name ${SERVICE_NAME} --restart always -m 1024M --memory-swap -1 -itd ${ORGANISATION}/${SERVICE_NAME}:${VERSION}
I can see the container is running fine
My question is How can I see the logs of this docker container.
Every time I do sudo docker logs database-service -f I can see the log of container running on 9003 port only.
How can I view the logs of container running on 9113
You are getting all the logs that was displayed on stdout or stderr in the container.
It has nothing to do with the processes which are exposed on different ports.
If 2 instance is running inside the container and both are showing there logs on system console then you will be getting both logs on the docker logs command for the container.
You can try multitail utility to tail more than one log files in docker exec command.
For that you have to install it in that container.
You can bind external volumes to container service logs and see the logs
docker run -v 'path_to_you_host_logs':'container_service_log_path'
docker run -v 'home/user/app/apache_access.log':
'/var/log/apache_access.log'

Docker in docker connection error

I'm trying to run a Java application in a docker container. The application also communicates with docker. So I used docker:latest image and installed the openjdk. Now when I am running the container in interactive mode (privileged) I get the error Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? when I input any docker command on the command line.
I run the container with docker run --privileged -ti con_name
Have you gone through this link? In there it's mentioned that /var/lib/docker needs to be a volume. In your docker run command, you are not mentioning any volumes. You might give this page a read and make sure everything is correct.

Resources