Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.0.0
-
Mesosphere Sprint 40
-
3
Description
It is not possible to run Docker containers that are based upon the "scratch" container.
Setup: Mesos 1.0.0 with the following Mesos settings:
echo 'docker' | sudo tee /etc/mesos-slave/image_providers echo 'filesystem/linux,docker/runtime' | sudo tee /etc/mesos-slave/isolation
Recreate: From a Master or Slave, run:
mesos-execute --command='echo ok' --docker_image=hello-seattle --master=localhost:5050 --name=test
Effect: The container will crash with messages from Mesos reporting it can't mount folder x/y/z. E.g. can't mount /tmp. This means you can't run any container that is not a "fat" container (i.e. one with a full OS). E.g. error:
Failed to enter chroot '/var/lib/mesos/provisioner/containers/fed6add8-0126-40e6-ae81-5859a0c1a2d4/backends/copy/rootfses/4feefc8b-fd5a-4835-95db-165e675f11cd': /tmp in chroot does not existI0729 07:49:56.753474 4362 exec.cpp:413] Executor asked to shutdown
Expected: Run without issues.
Use case: We use scratch based containers with static binaries to keep the image size down. This is a common practice.