# Container Setup for the Sample Application
OpenShift Origin is available as a [Docker](https://www.docker.io) container. It
has all of the software prebuilt and pre-installed, but you do need to do a few
things to get it going.
## Download and Run OpenShift Origin
If you have not already, perform the following to (download and) run the Origin
Docker container:
$ docker run -d --name "openshift-origin" --net=host --privileged \
-v /var/run/docker.sock:/var/run/docker.sock \
openshift/origin start
Note that this won't hold any data after a restart, so you'll need to use a data
container or mount a volume at `/var/lib/openshift` to preserve that data. For
example, create a `/var/lib/openshift` folder on your Docker host, and then
start origin with the following:
$ docker run -d --name "openshift-origin" --net=host --privileged \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/openshift:/var/lib/openshift \
openshift/origin start
## Preparing the Docker Host
On your **Docker host** you will need to fetch some images. You can do so by
running the pullimages.sh script like so:
$ sh <(curl \
https://raw.githubusercontent.com/openshift/origin/master/examples/sample-app/pullimages.sh)
This will fetch several Docker images that are used as part of the Sample
Application.
Next, be sure to follow the **Setup** instructions for the Sample Application
regarding an "insecure" Docker registry.
## Connect to the OpenShift Container
Once the container is started, you need to attach to it in order to execute
commands:
$ docker exec -it openshift-origin bash
You may or may not want to change the bash prompt inside this container so that
you know where you are:
$ PS1="openshift-dock: [\u@\h \W]\$ "
## Get the Sample Application Code
Inside the OpenShift Docker container, you'll need to fetch some of the code
bits that are used in the sample app.
$ cd /var/lib/openshift
$ mkdir -p examples/sample-app
$ wget \
https://raw.githubusercontent.com/openshift/origin/master/examples/sample-app/application-template-stibuild.json \
-O examples/sample-app/application-template-stibuild.json
## Configure client security
$ export CURL_CA_BUNDLE=`pwd`/openshift.local.config/master/ca.crt
For more information on this step, see [Application Build, Deploy, and Update
Flow](https://github.com/openshift/origin/blob/master/examples/sample-app/README.md#application-build-deploy-and-update-flow),
step #3.
## Deploy the private docker registry
$ oadm registry --create --credentials=$(pwd)/openshift.local.config/master/openshift-registry.kubeconfig
$ cd examples/sample-app
For more information on this step, see [Application Build, Deploy, and Update
Flow](https://github.com/openshift/origin/blob/master/examples/sample-app/README.md#application-build-deploy-and-update-flow),
step #4.
## Continue With Sample Application
At this point you can continue with the steps in the [Sample
Application](https://github.com/openshift/origin/blob/master/examples/sample-app/README.md),
starting from [Application Build, Deploy, and Update
Flow](https://github.com/openshift/origin/blob/master/examples/sample-app/README.md#application-build-deploy-and-update-flow),
step #5.
You can watch the OpenShift logs by issuing the following on your **Docker
host**:
$ docker attach openshift-origin