anchor.diff:    && apk del curl
   
   # - - - - - - - - - - - - - - - - - - - - - -
  -# 5. install ruby and json gem
  +# 3. install ruby and json gem
   
   USER root
   RUN  apk update && apk add ruby ruby-irb ruby-io-console ruby-bigdecimal tzdata bash
   RUN  gem install json_pure --no-ri --no-rdoc
   
   # - - - - - - - - - - - - - - - - - - - - - -
  -# 6. install commander
  +# 4. install commander
   
   RUN  mkdir /app
   COPY cyber-dojo.sh          /app
  
positive.code:   && rm /docker-${DOCKER_VERSION}.tgz \
    && apk del curl
  
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  # 3. ensure cyber-dojo user can sudo to docker-runner user
  # which can run docker and docker-compose
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  
  ARG  DOCKER_BINARY=/usr/bin/docker
  ARG  DOCKER_COMPOSE_BINARY=/usr/bin/docker-compose
  ARG  NEEDS_DOCKER_SUDO=cyber-dojo
  ARG  GETS_DOCKER_SUDO=docker-runner
  ARG  SUDO_FILE=/etc/sudoers.d/${GETS_DOCKER_SUDO}
  USER root
  # -D=no password, -H=no home directory
  RUN  adduser -D -H ${GETS_DOCKER_SUDO}
  # there is no sudo command in Alpine
  RUN  apk --update add sudo
  # cyber-dojo, on all hosts, can sudo -u docker-runner, without a password
  RUN  echo "${NEEDS_DOCKER_SUDO} ALL=(${GETS_DOCKER_SUDO}) NOPASSWD: ALL"   >  ${SUDO_FILE}
  # docker-runner, on all hosts, without a password, can sudo /usr/bin/docker
  RUN  echo "${GETS_DOCKER_SUDO} ALL=NOPASSWD: ${DOCKER_BINARY} *"         >>  ${SUDO_FILE}
  # docker-runner, on all hosts, without a password, can sudo /usr/bin/docker-compose
  RUN  echo "${GETS_DOCKER_SUDO} ALL=NOPASSWD: ${DOCKER_COMPOSE_BINARY} *" >>  ${SUDO_FILE}
  
  # - - - - - - - - - - - - - - - - - - - - - -
  # 4. install docker-compose
  # https://github.com/marcosnils/compose/blob/master/Dockerfile.run
  # After this, the cyber-dojo user can do
  # $ sudo -u docker-runner sudo docker-compose ...
  
  ARG  DOCKER_COMPOSE_VERSION
  USER root
  RUN  apk update \
    && apk add --no-cache curl openssl ca-certificates \
  
negative.code: COPY start_point_check.rb   /app
  COPY start_point_inspect.rb /app
  COPY start_point_pull.rb    /app
  WORKDIR /app
  
  
  