I made the mistake of assuming all jenkins output was being captured in the logs, but when you mentioned startup output, I realized it might be writing directly to the container's stdout, and sure enough, there's a ton of output there (i.e. docker logs ...). I saw an entry like this every time a job ran:
*****
WARNING: QueueListener failed while processing hudson.model.Queue$BuildableItem:hudson.model.FreeStyleProject@33998223[myJob]:576842
java.lang.NullPointerException
at com.nirima.jenkins.plugins.docker.DockerCloud.getTemplates(DockerCloud.java:445)
at com.nirima.jenkins.plugins.docker.DockerCloud.getTemplate(DockerCloud.java:397)
at com.nirima.jenkins.plugins.docker.DockerCloud.canProvision(DockerCloud.java:379)
at io.jenkins.docker.FastNodeProvisionerStrategy$FastProvisionning.onEnterBuildable(FastNodeProvisionerStrategy.java:100)
at hudson.model.Queue$BuildableItem.enter(Queue.java:2660)
at hudson.model.Queue$BuildableRunnable.run(Queue.java:2964)
at hudson.model.Queue.maintain(Queue.java:1546)
at hudson.model.Queue$1.call(Queue.java:319)
at hudson.model.Queue$1.call(Queue.java:316)
at jenkins.util.AtmostOneTaskExecutor$1.call(AtmostOneTaskExecutor.java:108)
at jenkins.util.AtmostOneTaskExecutor$1.call(AtmostOneTaskExecutor.java:98)
at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:112)
at java.lang.Thread.run(Thread.java:748)
Mar 30, 2018 4:27:28 PM hudson.model.Run execute
INFO: myJob #1307 main build action completed: SUCCESS
*****