These days i had some time left to test out Pentaho BA on Docker. In this blog post i will share my experiences on how to install Docker on Yosemite which is needed first.
What is Docker ?
Docker is a application virtualization framework for accelerating the development and release to production lifecycle. You can develop your applications inside the the container and afterwards export your Docker image and copy it to your production environment. You can separate your applications from your infrastructure AND treat your infrastructure like a managed application. So you can call it a lightweight hypervisor for application development.
Installing Docker on Yosemite
So i checked out the Docker website for downloading and getting instructions how to install. It uses some Linux specific kernel features. Therefore on Mac there is no native install. Instead the community created a helper application, the boot2docker app. This is a very small preconfigured Linux that runs inside Virtual Box. The good news are that boot2docker bundle everything up, so you don’t have to worry about setting up Virtual Box.
For a better experience you should set up the environment variables before the installation. On the installation guide for Mac they indicate to do it afterwards. The client needs some environment variables to communicate with the containers itself. In my opinion you get a better experience doing it before you install Docker so you can use the client immediatly after the VM runs and you get no error messages.
Open a shell on your Yosemite and type those commands
launchctl setenv DOCKER_TLS_VERIFY $DOCKER_TLS_VERIFY
launchctl setenv DOCKER_HOST $DOCKER_HOST
launchctl setenv DOCKER_CERT_PATH $DOCKER_CERT_PATH
Now you can close your shell and proceed with the installation of Docker. Just follow the installation instructions for MAC on the Docker website.
So now that you have installed and booted the Docker container you can use your shell to test if the comunication between the client and the container itself. Here a screenshot of some commands and the output.