docker compose logs follow not running - docker

I am using docker compose on mac and since a recent docker update my docker-compose logs -f is displaying logs but not following, once the logs displayed the process is stopped.
I am only using docker compose on local
Docker Compose version v2.0.0-beta.6
Docker version 20.10.7, build f0df350
From time to time when running docker-compose logs I have Error response from daemon: configured logging driver does not support reading I do not know if this is related.

Related

"docker: 'compose' is not a docker command" when running docker compose

After installing the latest version of Docker Desktop on my M1 Mac pro, I can't seem to run docker compose despite having all the correct files installed.
I've tried running docker-compose and docker compose in my terminal and I get this message: docker: 'compose' is not a docker command.
After running docker --version, I'm currently on Docker version 20.10.21, build baeda1f
Compose is correctly added to my PATH vars under /usr/local/bin/, which has the following files:
com.docker.cli docker-credential-desktop fuzzy_match kubectl.docker
docker docker-credential-ecr-login httpclient vpnkit
docker-compose docker-credential-osxkeychain hub-tool xcodeproj
docker-compose-v1 docker-index kubectl
When I run which docker-compose, it returns /usr/local/bin/docker-compose so it seems like everything is configured correctly.
Also running docker-compose-v1 does seem to work for some weird reason.
Any ideas?
Edit: Seems like this was fixed after installing the newest version of Docker (Docker Desktop 4.14.1 (91661), Docker version 20.10.21, build baeda1f).
Install Rosetta 2 with softwareupdate --install-rosetta, then uncheck Use Docker Compose V2 in Docker Dashboard -> Settings -> General.

Cannot start Docker Compose application. Reason: fork/exec /usr/bin/docker-compose-v1: no such file or directory

I get this error when trying to start docker-compose by Docker Desktop v4.12.0.
docker-compose up runs in terminal normally.
Settings->General->Enable Docker Compose V1/V2 compatibility mode (check and restart Docker desktop)

Docker Desktop leaks docker-compose CLI

I also created an issue at Docker for Windows GitHub for the following behaviour and I'm wondering if somebody else experiences this degression since Docker for Desktop Version >4.5.1:
Docker Desktop for Windows 4.6.0 somehow mixes independent docker-compose executions. F.e.:
Execute docker-compose file1.yml in PowerShell-01
Execute docker-compose file2.yml in PowerShell-02
Now PowerShell-01 either dies with warning "no such service: " or logs from file1.yml now appear in PowerShell-02
Switching back to Docker for Desktop 4.5.1 the mixed CLI output doesn't happen anymore.

docker-compose with --context does not rebuild image on remote host

I'm using docker context to run container on remote host. When I'm running the following command I'm expecting to have my container get rebuild and run on remote host:
docker-compose --context REMOTE up --build -d
The behaviour I see is that container is rebuild locally and on remote host the old version of docker image is running. When I'm checking docker image ls on remote host I see that image wasn't rebuilt and outdated version is running.
When I'm explicitly removing container on remote machine it's get rebuild, although it seems it get rebuild twice, once on local machine and once on remote.
Is there any way to make docker-compose to always rebuild image on remote machine?
I was using an old version of docker-compose. In the latest version the command looks like DOCKER_CONTEXT=REMOTE docker-compose up --build -d and working as expected.

client (browser, jdbc driver) hangs when trying to connect with docker instance

Summary
Client (browser,jdbc drive) hangs connecting to docker.
Context
I've been playing with docker and found an oddity: stuff running on my host OS (browser, jdbc driver) "hangs" trying to connect to docker.
I've concluded the issue lies with 'docker' and 'my setup' versus the images themselves, due to the fact that the problem appears:
with both Tomcat official images as well as with Microsoft's new Sql Server image
after I've successfully run docker once
Usecase
Boot my laptop (ubuntu 14.04)
Start up docker (see Appendix )
Connect with browser http://localhost:8888/.
Result: Success
Shut down docker instance: 'ctrl-c'
Start up docker again (Repeat step 2)
Try to connect with browser
Result: Browser hangs/spins for 20 minutes, than says "aborted"
Notes
Docker starts without error in both steps
After shutdown (step 4), "netstat -aon |grep 8888" shows nothing. So no 'rogue process' is listening on port 888
Because browser "hangs", rather than says "connection refused", I concluded Docker listens on the port, but doesn't do anything else.
Version Info
Ubuntu 14.04
Docker version 1.9.1, build a34a1d5
Appendix A: Docker file and commands
Dockerfile
Dockerfile: FROM tomcat:8.5.8-jre8-alpine
Commands
Create Image:
$ docker build -t mytomcat_858 .
Start:
$ docker run -it --rm -p 8888:8080 mytomcat_858
What command are you executing to start Docker the second time? docker start mytomcat_858? If it starts correctly the second time, can you do docker attach mytomcat_858 and view possible Tomcat errors?
I found, if not the root cause, at least workaround: restarting the docker daemon cleared up all the networking issues:
# /etc/init.d/docker restart
Try running docker with the following:
docker run -d -p 8888:8080 mytomcat_858
Then,
You can do docker stop mytomcat_858, and docker start mytomcat_858 to stop and start the process. Do not repeat docker run command for the second time.

Resources