偶尔我的码头工人容器会变成“孤儿”。

时间:2018-01-15 16:55:25

标签: docker connection containers

我的docker容器构建的软件产品需要花费大约几个小时的时间。 大多数时候,它运行良好。然而,有时候它会变成孤儿'在执行结束时。 孤儿,'我的意思是:   1.' docker ps'正确报告容器。   2.'码头检查'通常也报告。   但是,#docker exec'返回错误,说"连接:连接被拒绝":未知"

[jenkins@aga-slave-jenkins-lnx1 ~]$ docker exec -it 6f667c2ca550 bash
connection error: desc = "transport: dial unix /var/run/docker/containerd/docker-containerd.sock: connect: connection refused": unknown

一旦成为孤儿,它就不会进入下一步或退出;它只是永远挂在那里。 所以我唯一的选择是重启docker守护进程以结束这种痛苦。

这是我的dockerfile,为简洁起见省略了非关键部分。

RUN svn update -q --no-auth-cache --username $SVN_USER --password $SVN_PASSWORD $WORKSPACE/_Build && \
    svn update -q --no-auth-cache --username $SVN_USER --password $SVN_PASSWORD $IVY_REPOSITORY && \
    ant -f $WORKSPACE/_Build/_Checkout.xml checkoutLibraries $ANT_ARGUMENTS -Daga.component=ui && \
    ant -f $WORKSPACE/_Build/_BuildAll.xml retrieveAll && \
    ant -f $WORKSPACE/_Build/_BuildAll.xml $ANT_ARGUMENTS -Daga.component=ui -Drun.tests=false -Dgenerate.javadoc=false -Drun.findbugs=false -Drun.checkstyle=false -Drun.pmd=false && \
    ant -f $WORKSPACE/_Build/_BuildAll.xml gather

FROM ${AGA_REPO}base_aga${AGA_VERSION}

一旦孤儿'问题发生时,docker容器在两个任务之间挂起。

dockerd日志包含一个有趣的行,它是以下代码段中的最后一行。

[jenkins@aga-slave-jenkins-lnx1 ~]$ journalctl -u docker.service |grep 'Jan 13' |tail 
Jan 13 23:03:30 aga-slave-jenkins-lnx1.aga.net dockerd[11352]: time="2018-01-13T23:03:27-05:00" level=info msg="loading plugin "io.containerd.grpc.v1.namespaces"..." module=containerd type=io.containerd.grpc.v1
Jan 13 23:03:30 aga-slave-jenkins-lnx1.aga.net dockerd[11352]: time="2018-01-13T23:03:27-05:00" level=info msg="loading plugin "io.containerd.grpc.v1.snapshots"..." module=containerd type=io.containerd.grpc.v1
Jan 13 23:03:30 aga-slave-jenkins-lnx1.aga.net dockerd[11352]: time="2018-01-13T23:03:27-05:00" level=info msg="loading plugin "io.containerd.monitor.v1.cgroups"..." module=containerd type=io.containerd.monitor.v1
Jan 13 23:03:30 aga-slave-jenkins-lnx1.aga.net dockerd[11352]: time="2018-01-13T23:03:27-05:00" level=info msg="loading plugin "io.containerd.runtime.v1.linux"..." module=containerd type=io.containerd.runtime.v1
Jan 13 23:03:30 aga-slave-jenkins-lnx1.aga.net dockerd[11352]: time="2018-01-13T23:03:27-05:00" level=info msg="loading plugin "io.containerd.grpc.v1.tasks"..." module=containerd type=io.containerd.grpc.v1
Jan 13 23:03:30 aga-slave-jenkins-lnx1.aga.net dockerd[11352]: time="2018-01-13T23:03:27-05:00" level=info msg="loading plugin "io.containerd.grpc.v1.version"..." module=containerd type=io.containerd.grpc.v1
Jan 13 23:03:31 aga-slave-jenkins-lnx1.aga.net dockerd[11352]: time="2018-01-13T23:03:27-05:00" level=info msg="loading plugin "io.containerd.grpc.v1.introspection"..." module=containerd type=io.containerd.grpc.v1
Jan 13 23:03:31 aga-slave-jenkins-lnx1.aga.net dockerd[11352]: time="2018-01-13T23:03:27-05:00" level=info msg=serving... address="/var/run/docker/containerd/docker-containerd-debug.sock" module="containerd/debug"
Jan 13 23:03:31 aga-slave-jenkins-lnx1.aga.net dockerd[11352]: time="2018-01-13T23:03:27-05:00" level=info msg=serving... address="/var/run/docker/containerd/docker-containerd.sock" module="containerd/grpc"
Jan 13 23:03:31 aga-slave-jenkins-lnx1.aga.net dockerd[11352]: time="2018-01-13T23:03:27-05:00" level=info msg="containerd successfully booted in 0.274601s" module=containerd

我是docker的初学者,并且想知道问题可能与启动的容器有关。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

谢谢你的期待。 我开始相信VM的内存太紧,导致或至少给我的docker容器带来太大的压力。 内存增加,运行良好,没有问题。 不确定小内存究竟出了什么问题。