ENTRYPOINT was Replaced with CMD in mesos-slave Dockerfile#84
Open
ser94mor wants to merge 1 commit intomesosphere-backup:masterfrom
ser94mor:master
Open
ENTRYPOINT was Replaced with CMD in mesos-slave Dockerfile#84ser94mor wants to merge 1 commit intomesosphere-backup:masterfrom ser94mor:master
ser94mor wants to merge 1 commit intomesosphere-backup:masterfrom
ser94mor:master
Conversation
|
where's the mesosphere maintainers ?! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #80.
Why ENTRYPOINT was replaced with CMD?
In large clusters, many nodes will only have mesos-slave docker image on hosts. When docker containerizer is used, mesos-slave will start mesos-execute in a separate container and it will start your task in another container accordingly. Docker image for mesos-execute should be specified with
--docker_mesos_imageflag orMESOS_DOCKER_MESOS_IMAGEenvironment variable for mesos-slave. It is reasonable to set this flag/env. variable to mesos-slave docker image because you most probably want to pull lesser docker images for each host while setting up a dockerized Mesos cluster.So, when mesos-slave container is started with
--docker_mesos_imagepointing tomesosphere/mesos-slave:<tag>image, it tries to start mesos-execute, specifying it as a command to docker container. But, sincemesos-slaveDockerfile uses ENTRYPOINT command instead of CMD, mesos-execute container's start will fail (mesos-execute container will have the following command in this case:mesos-slave mesos-execute ...flags...). The use of CMD instead of ENTRYPOINT will fix the situation and entry command to mesos-execute container will bemesos-execute ...flags....There is a possible concern: if somebody relied on the ENTRYPOINT declaration for mesos-slave and included someting like
docker run ... mesosphere/mesos-slave:<tag> ...flags_for_mesos_slave...in his scripts, then he should update these scripts withdocker run ... mesosphere/mesos-slave:<tag> mesos-slave ...flags_for_mesos_slave...(mesos-slaveadded immediately after image name).I would prefer to have a CMD command to be able to reuse
mesosphere/mesos-slave:<tag>for mesos-execute. What do you think?