Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-5927

Unable to run "scratch" Dockerfiles with Unified Containerizer.

    XMLWordPrintableJSON

Details

    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.

      Attachments

        Activity

          People

            gilbert Gilbert Song
            philwinder Philip Winder
            Jie Yu Jie Yu
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: