Skip to content

Instantly share code, notes, and snippets.

@michaellihs
Last active May 27, 2019 13:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save michaellihs/de0116a38b8f0b3707581b827ea536d6 to your computer and use it in GitHub Desktop.
Save michaellihs/de0116a38b8f0b3707581b827ea536d6 to your computer and use it in GitHub Desktop.
Docker Cheat Sheet

Docker Cheat Sheet

Testing with goss and dgoss

On the Mac

  1. install goss

    curl -L https://github.com/aelsabbahy/goss/releases/download/v0.3.7/goss-linux-amd64 -o /usr/local/bin/goss
    curl -L https://raw.githubusercontent.com/aelsabbahy/goss/master/extras/dgoss/dgoss -o /usr/local/bin/dgoss
    chmod +rx /usr/local/bin/dgoss
    
  2. add the following line to your ~/.profile or .zshrc

    export GOSS_PATH=/usr/local/bin/goss
    
  3. within the directory that contains your Dockerfile (where you want to create a goss.yml with tests) run

    dgoss edit -p 8080:80 <IMAGE NAME>
    
  4. add some checks with goss a ... and quit the editor with exit

    goss a port 80
    goss a http http://localhost
    exit
    
  5. run the tests against the container with

    dgoss run <IMAGE NAME>
    

Docker in Docker on Mac

  1. Create a Docker image that contains the docker binary

    FROM ...
    
    RUN apt-get update
    RUN apt-get -y install docker.io
    
    ENV GOSS_PATH="/usr/local/bin/goss"
    ENV GOSS_FILES_STRATEGY="cp"
    
  2. Start a container and mount the docker socket and install docker binary

    mkdir /tmp/docker
    docker run -it -v /var/run/docker.sock:/var/run/docker.sock - /tmp/docker:/tmp <IMAGE NAME>
    

Resources

Docker Testing

Docker Administration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment