Docker integration plugin

I have installed the Docker integration plugin on our TeamCity server v. 2017.1.4 (build 47070).

When I try to use the Docker plugin I get the agent error "Unmet requirements: docker.version exists"
The agent is running on Windows 10 Enterprise version 1703.
I have installed Docker on my build agent, but in the teamcity-agent.log it looks like Docker hasn't been installed.
 
INFO - rains.buildServer.AGENT.DOCKER - Docker client is not available
INFO - rains.buildServer.AGENT.DOCKER - Docker server info is not available
INFO - rains.buildServer.AGENT.DOCKER - Docker-compose is not available
 
Any idea why Docker is not available?
6 comments
Comment actions Permalink
Official comment

Hello,

   I'm really sorry for the problem. Please vote/watch this issue: https://youtrack.jetbrains.com/issue/TW-60588 and probably this one as well: https://youtrack.jetbrains.com/issue/TW-61211

  Kind regards,

  KIR

Comment actions Permalink

I think you need docker running on your agent for this to work. Try logging in under the agent account and run `docker info`. I bet you'll get some kind of a error that would indicate way forward for you.

 

Docker on windows is not mean for production use, currently it's for development only. One artifact of this is that docker is not started for a user unless you login interactively. You agent account is most likely not logged interactively, so from its point of view docker is not started. I would advise running linux agent for docker builds instead.

0
Comment actions Permalink

I do have Docker running on my build agent, but it still did not work.

As a troubleshooting exercise, I later copied the Docker Support plugin from the TeamCity 2017.2 EAP release and used that instead of the officially released plugin for TeamCity 2017.1. Using the newer version of the plugin solved the problem. This is obviously not supported, but at least I know what the problem is.

0
Comment actions Permalink

Glad to hear that! In a way this is still early days, so I hope this will improve from here on. At least better error messages would be welcome.

0
Comment actions Permalink
Default Agent-1
Unmet requirements:
 
 I am not able to run build through an agent instead of that it goes under the build queue section
 
docker.server.version exists
0
Comment actions Permalink

I just struggled with the same thing, but I think I found the issue.  TeamCity Server, TeamCity Build Agent and Docker Engine all run as services.  I think the problem occurs when the TeamCity Server and Build Agent services are up and running before the Docker service.  So maybe TeamCity is querying for the Docker information before Docker has finished starting up.

I had the problem just now.  I restarted the TeamCity services (Docker was now already running and settled) and the problem went away.

I tested by shutting down Docker Engine, then restarting the TeamCity services. Sure enough, I get that the docker.server.version requirement hasn't been met. Leaving TeamCity services running and restarting Docker Engine didn't help. I had to wait for Docker Engine to be running and then start TeamCity Server and Build Agent afterward. This has worked every time so far.

This agrees with some of the suggestions that the issue could be that Docker wasn't running and so many responses saying it was.  It's just that it wasn't fully operational at the time TeamCity queried the information.

I'm going to try the "Automatic (Delayed Start)" option for the TeamCity services in Windows Services to see if this makes life easier.

0

Please sign in to leave a comment.