title: Sleep not working on docker-compose command, fails 5 times
body: <p>I have an alpine image. I'm trying to do a sleep on my docker-compose command line (for testing some stuff). However doing this:</p>
  
  <p>command: sleep 30s &amp;&amp; NODE_ENV=production node app.js</p>
  
  <p>gives me error:</p>
  
  <pre><code>thesailsapp_1  | sleep: invalid number '&amp;&amp;'
  thesailsapp_1  | sleep: invalid number '&amp;&amp;'
  thesailsapp_1  | sleep: invalid number '&amp;&amp;'
  thesailsapp_1  | sleep: invalid number '&amp;&amp;'
  thesailsapp_1  | sleep: invalid number '&amp;&amp;'
  nginx-certbot_thesailsapp_1 exited with code 1
  </code></pre>
  
  <p>Does anyone know how to fix this? And anyone know why it errors 5 times rather then just once? (learning docker here)</p>
  
  <p>Here is my full docker-compose file:</p>
  
  <pre><code>version: '3'
  
  services:
    thesailsapp:
      image: noitidart/private-container:thesailsapp
      restart: always
      environment:
        - sails_log__level=silly
      command: sleep 30s &amp;&amp; NODE_ENV=production node app.js
    nginx:
      image: nginx:1.15-alpine
      restart: always
      volumes:
        - ./data/nginx:/etc/nginx/conf.d
        - ./data/certbot/conf:/etc/letsencrypt
        - ./data/certbot/www:/var/www/certbot
      ports:
        - 80:80
        - 443:443
      command: "/bin/sh -c 'while :; do sleep 6h &amp; wait $${!}; nginx -s reload; done &amp; nginx -g \"daemon off;\"'"
    certbot:
      image: certbot/certbot
      restart: always
      volumes:
        - ./data/certbot/conf:/etc/letsencrypt
        - ./data/certbot/www:/var/www/certbot
      entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h &amp; wait $${!}; done;'"
  </code></pre>
  
  <p>Here is my dockerfile:</p>
  
  <pre><code># Start with a node 8.16 slim image to keep the container size down
  FROM node:12-alpine
  
  # Specify a default directory for where our app will be placed within the container.
  #
  # This can be overridden with docker build --build-arg WORKDIR=some-dir/ .
  # Always append the directory name with a /
  ARG WORKDIR=/opt/apps/thesailsapp/
  
  # Create a directory to contain our application
  RUN mkdir -p $WORKDIR
  
  # Switch default working directory to our new directory
  WORKDIR $WORKDIR
  
  # Copy our package and lock files over first,
  # as the build can then cache this step seperately from our code.
  #
  # This allows us to build faster when we only have code changes,
  # as the install step will be loaded from cache,
  # and rebuilt when package files change
  COPY package.json package-lock.json $WORKDIR
  
  # Set NODE_ENV=development as i need the webpack dev files
  
  # Install all deps, including development deps, as that is needed
  # for the webpack build phase. Uninstall puppeteer first though,
  # that's a massive install and not used for building.
  RUN NODE_ENV=production npm i
  
  # Now copy over your actual source code
  #
  # REMEMBER: We are ignoring node_modules in the .dockerignore file explicitly,
  # so docker will not copy over that directory. The app will use th modules installed above.
  COPY . $WORKDIR
  
  # Build frontend production assets
  RUN NODE_ENV=production npx webpack --config webpack.config.js
  
  EXPOSE 1337
  
  ### why is npm start here? this should only happen on the droplet instance
  # Set the default CMD to run when starting this image.
  #
  # You can easily override this when running the image
  CMD npm start
  </code></pre>