docker

I installed boot2docker

brew install brew2docker

I then did a

docker init

Start boot2docker

boot2docker up
Waiting for VM and Docker daemon to start...
........................ooooooooooooooooooo
Started.
Writing /Users/timothyhseed/.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/timothyhseed/.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/timothyhseed/.boot2docker/certs/boot2docker-vm/key.pem

To connect the Docker client to the Docker daemon, please set:
    export DOCKER_HOST=tcp://192.168.59.103:2376
    export DOCKER_CERT_PATH=/Users/timothyhseed/.boot2docker/certs/boot2docker-vm
    export DOCKER_TLS_VERIFY=1

Find a Container

You do not have to create your own containers - instead you can look for some pre-built stuff.

docker search <search_Item>

i.e.

docker search oracle

I see something like

NAME                                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
wnameless/oracle-xe-11g                   Oracle Express 11g R2 on Ubuntu 14.04.1 LTS     160                  [OK]
alexeiled/docker-oracle-xe-11g            This is a spin off from wnameless/docker-o...   101                  [OK]
oraclelinux                               Oracle Linux is an open-source operating s...   99        [OK]       
sath89/oracle-xe-11g                      Oracle xe 11g with database files mount su...   37                   [OK]
frolvlad/alpine-oraclejdk8                The smallest Docker image with OracleJDK 8...   34                   [OK]
oracle/oraclelinux                        Oracle Linux is an open-source operating s...   22                   [OK]
ingensi/oracle-jdk                        Official Oracle JDK installed on centos.        17                   [OK]
isuper/java-oracle                        This repository contains all java releases...   16                   [OK]
errordeveloper/oracle-jdk                 A minimalistic Oracle JDK 8 container on t...   9                    [OK]
jaspeen/oracle-11g                        Docker image for Oracle 11g database            8                    [OK]
hanswesterbeek/google-debian-oracle-jdk   Oracle's JDK installed on top of Google's ...   8                    [OK]
n3ziniuka5/ubuntu-oracle-jdk              Ubuntu with Oracle JDK. Check tags for ver...   5                    [OK]
errordeveloper/oracle-jre                 A minimalistic Oracle JRE 8 container on t...   5                    [OK]
andreptb/oracle-java                      Debian Jessie based image with Oracle JDK ...   4                    [OK]
flurdy/oracle-java7                       Base image containing Oracle's Java 7 JDK       3                    [OK]
airdock/oracle-jdk                        Docker Image for Oracle Java 8 and 7            3                    [OK]
orisi/oracle                                                                              3                    [OK]
martinseeler/oracle-server-jre            Oracle's Java 8 as 63 MB Docker container.      2                    [OK]
clincase/oracle                           clincase oracle db server image                 1                    [OK]
kaluzki/oracle                            kaluzki/oracle                                  1                    [OK]
cirit/oracle-java                         Base Oracle Java (6,7 & 8) images on Debia...   1                    [OK]
ukhomeofficedigital/oracle-xe-11g         Oracle Database Express Edition 11g Container   1                    [OK]
c12e/oracle-jre                           Oracle Java JRE using alpine and consul-te...   0                    [OK]
c12e/oracle-jdk                           Oracle Java JDK using alpine and consul-te...   0                    [OK]
zeerdonker/docker-oracle-java             ubuntu:14.04 based oracle-java 8 build          0                    [OK]

Wow !! But I only want 1 container - so I will pick the 11g running on Ubuntu

To install this - ah it is not install !! instead

docker run wnameless/oracle-xe-11g

This till download and install the container - also if the container gets updated - then you will get the new updates.

Seeing Docker Machines

Simple command

docker-machine ls

Setup to talk to the running machine

docker-machine env default

This generates something like this

export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/tim/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"

Moving a container

  • Export the container to a tarball

    docker export <CONTAINER ID> > /home/export.tar

  • Move your tarball to new machine

  • Import it back cat /home/export.tar | docker import - some-name:latest

I have read that doing a save/load instead of export/import, as save preserves metadata and history. but I have not verified that so far

Flocker - No I am not kidding

Flocker may be the answer to this.

Running Oracle Containter

Slightly complex command as we need to open up the firewall ports

docker run -d -p 49160:22 -p 49161:1521 -p 49162:8080 wnameless/oracle-xe-11g
  • 22 ssh
  • 1521 Oracle
  • 8080 Secure Web Interface

This maps external Port - to an Internal port

  • 49160 - 22
  • 49161 - 1521
  • 49162 - 8080

To connect you then

ssh root@192.168.99.100 -p 49160

Note: The IP Address is the Docker Machine IP Address, which you can find from (49160 maps to internal port 22 [ssh])

docker-machine ls default

ssh connect

ssh root@localhost -p 49160
password: admin

Web connect

url: http://localhost:49162/apex
workspace: INTERNAL
user: ADMIN
password: oracle

Oracle Connector

hostname: localhost
port: 49161
sid: xe
username: system
password: oracle