Hi team,

I can use `docker run` command to start a Mesos Agent container, but can't
use docker-py to start.

When I use docker-py to start the Mesos Agent container, the error message:

....
I0712 09:44:28.624933 24919 docker.cpp:775] Recovering Docker containers
I0712 09:44:28.625036 24918 containerizer.cpp:486] Recovering containerizer
I0712 09:44:28.629106 24922 provisioner.cpp:253] Provisioner recovery
complete
W0712 09:44:28.629106 24911 logging.cpp:91] *RAW: Received signal SIGTERM
from process 19221 of user 0; exiting*

The process 19221 is the docker-containerd daemon. I am not sure if this
issue if related to this fix:
https://issues.apache.org/jira/browse/MESOS-4279 , but
mesosphere/mesos:0.28.2 has no this issue.

*Docker run commands:*

docker run -d --net=host --pid=host --privileged -e MESOS_MASTER=
9.21.60.192:5050 -e MESOS_SWITCH_USER=0 -e
MESOS_CONTAINERIZERS=docker,mesos -e MESOS_LOG_DIR=/var/log/mesos -e
MESOS_WORK_DIR=/var/lib/mesos -v /var/log/mesos:/var/log/mesos -v
/var/lib/mesos:/var/lib/mesos -v /var/run/docker.sock:/var/run/docker.sock
-v /sys:/sys -v /var/lib/docker:/var/lib/docker -v /cgroup:/cgroup -v
/dev:/dev chenzhiwei/mesos:1.0.0-rc1 mesos-slave --no-systemd_enable_support


*docker-py code:*

from docker import Client

cli = Client(base_url='unix://var/run/docker.sock')

host_config=cli.create_host_config(privileged=True, network_mode="host",
pid_mode="host", binds=["/dev:/dev", "/sys:/sys", "/cgroup:/cgroup",
"/var/lib/mesos:/var/lib/mesos", "/var/log/mesos:/var/log/mesos",
"/var/lib/docker:/var/lib/docker",
"/var/run/docker.sock:/var/run/docker.sock"])

cli.create_container(image='chenzhiwei/mesos:1.0.0-rc1',
command="mesos-slave --no-systemd_enable_support",
environment={"MESOS_LOG_DIR": "/var/log/mesos", "MESOS_WORK_DIR":
"/var/lib/mesos", "MESOS_MASTER": "9.21.60.192:5050", "MESOS_SWITCH_USER":
0, "MESOS_CONTAINERIZERS": "docker,mesos"}, volumes=["/dev", "/sys",
"/cgroup", "/var/lib/mesos", "/var/log/mesos", "/var/lib/docker",
"/var/run/docker.sock"], host_config=host_config, name="mesos-agent")

cli.start(container="xxxxx")


I tested with docker create and docker start, still success. I am not sure
if this issue belongs to mesos or docker-py.

I also tried to use mesosphere official docker
image(mesosphere/mesos:1.0.0-rc1) but still without luck. The docker run
command works all right, but docker-py failed with same error message.

Reply via email to