├── .gitmodules ├── Makefile ├── README.md ├── ubuntu-couchdb ├── Dockerfile ├── README.md ├── fig.yml └── run ├── ubuntu-droneci ├── Dockerfile ├── README.md └── fig.yml ├── ubuntu-elasticsearch ├── Dockerfile ├── README.md ├── config │ ├── elasticsearch.yml │ └── logging.yml └── fig.yml ├── ubuntu-golang ├── Dockerfile └── README.md ├── ubuntu-hhvm ├── Dockerfile └── README.md ├── ubuntu-java ├── Dockerfile └── README.md ├── ubuntu-jenkins ├── Dockerfile ├── README.md └── fig.yml ├── ubuntu-mariadb ├── Dockerfile ├── README.md ├── fig.yml └── run ├── ubuntu-meteor ├── Dockerfile └── README.md ├── ubuntu-mongodb ├── Dockerfile ├── README.md └── fig.yml ├── ubuntu-neo4j ├── Dockerfile ├── README.md ├── fig.yml └── run ├── ubuntu-nginx ├── Dockerfile ├── README.md └── fig.yml ├── ubuntu-nodejs ├── Dockerfile └── README.md ├── ubuntu-php ├── Dockerfile └── README.md ├── ubuntu-postgresql ├── Dockerfile ├── README.md ├── fig.yml └── run ├── ubuntu-redis ├── Dockerfile ├── README.md └── fig.yml ├── ubuntu-ruby ├── Dockerfile └── README.md ├── ubuntu-scala ├── Dockerfile └── README.md ├── ubuntu-tmate ├── Dockerfile └── README.md ├── ubuntu-typesafe ├── Dockerfile ├── README.md └── fig.yml ├── ubuntu-websocketd ├── Dockerfile └── README.md └── ubuntu ├── Dockerfile └── README.md /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ubuntu-marathon"] 2 | path = ubuntu-marathon 3 | url = https://github.com/mesosphere/marathon.git 4 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | DOCKER=docker 2 | 3 | .PHONY: all clean 4 | 5 | all: build push 6 | 7 | 8 | # Build images 9 | 10 | build: b_os b_langs b_frameworks b_dbs b_services b_tools 11 | 12 | b_os: 13 | $(DOCKER) build -t partlab/ubuntu ./ubuntu 14 | 15 | b_langs: 16 | $(DOCKER) build -t partlab/ubuntu-ruby ./ubuntu-ruby 17 | $(DOCKER) build -t partlab/ubuntu-java ./ubuntu-java 18 | $(DOCKER) build -t partlab/ubuntu-scala ./ubuntu-scala 19 | $(DOCKER) build -t partlab/ubuntu-php ./ubuntu-php 20 | $(DOCKER) build -t partlab/ubuntu-hhvm ./ubuntu-hhvm 21 | $(DOCKER) build -t partlab/ubuntu-nodejs ./ubuntu-nodejs 22 | $(DOCKER) build -t partlab/ubuntu-golang ./ubuntu-golang 23 | 24 | b_frameworks: 25 | $(DOCKER) build -t partlab/ubuntu-meteor ./ubuntu-meteor 26 | $(DOCKER) build -t partlab/ubuntu-typesafe ./ubuntu-typesafe 27 | 28 | b_dbs: 29 | $(DOCKER) build -t partlab/ubuntu-mariadb ./ubuntu-mariadb 30 | $(DOCKER) build -t partlab/ubuntu-postgresql ./ubuntu-postgresql 31 | $(DOCKER) build -t partlab/ubuntu-couchdb ./ubuntu-couchdb 32 | $(DOCKER) build -t partlab/ubuntu-mongodb ./ubuntu-mongodb 33 | $(DOCKER) build -t partlab/ubuntu-redis ./ubuntu-redis 34 | $(DOCKER) build -t partlab/ubuntu-neo4j ./ubuntu-neo4j 35 | 36 | b_services: 37 | $(DOCKER) build -t partlab/ubuntu-elasticsearch ./ubuntu-elasticsearch 38 | $(DOCKER) build -t partlab/ubuntu-nginx ./ubuntu-nginx 39 | $(DOCKER) build -t partlab/ubuntu-websocketd ./ubuntu-websocketd 40 | 41 | b_tools: 42 | $(DOCKER) build -t partlab/ubuntu-tmate ./ubuntu-tmate 43 | $(DOCKER) build -t partlab/ubuntu-jenkins ./ubuntu-jenkins 44 | $(DOCKER) build -t partlab/ubuntu-droneci ./ubuntu-droneci 45 | 46 | 47 | # Push on registry 48 | 49 | push: p_langs p_frameworks p_dbs p_services 50 | 51 | p_os: 52 | $(DOCKER) push partlab/ubuntu 53 | 54 | p_langs: 55 | $(DOCKER) push partlab/ubuntu-ruby 56 | $(DOCKER) push partlab/ubuntu-java 57 | $(DOCKER) push partlab/ubuntu-scala 58 | $(DOCKER) push partlab/ubuntu-php5 59 | $(DOCKER) push partlab/ubuntu-hhvm 60 | $(DOCKER) push partlab/ubuntu-nodejs 61 | 62 | p_frameworks: 63 | $(DOCKER) push partlab/ubuntu-meteor 64 | $(DOCKER) push partlab/ubuntu-typesafe 65 | 66 | p_dbs: 67 | $(DOCKER) push partlab/ubuntu-mariadb 68 | $(DOCKER) push partlab/ubuntu-postgresql 69 | $(DOCKER) push partlab/ubuntu-couchdb 70 | $(DOCKER) push partlab/ubuntu-mongodb 71 | $(DOCKER) push partlab/ubuntu-redis 72 | 73 | p_services: 74 | $(DOCKER) push partlab/ubuntu-elasticsearch 75 | $(DOCKER) push partlab/ubuntu-nginx 76 | $(DOCKER) push partlab/ubuntu-websocketd 77 | 78 | p_tools: 79 | $(DOCKER) push partlab/ubuntu-tmate 80 | $(DOCKER) push partlab/ubuntu-jenkins 81 | $(DOCKER) push partlab/ubuntu-droneci 82 | 83 | 84 | # Delete all images 85 | 86 | clean: 87 | $(DOCKER) images --no-trunc | grep partlab | awk '{print $$3}' | xargs docker rmi 88 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## partlab dockerfile 2 | 3 | A central repository of Dockerfile for various opensource software services 4 | runnable on a Docker container. 5 | All images are automatically built and published to the public 6 | [Docker Hub Registry](https://hub.docker.com/u/partlab/) 7 | -------------------------------------------------------------------------------- /ubuntu-couchdb/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN apt-get update && \ 10 | apt-get install --no-install-recommends -y couchdb && \ 11 | sed -i -r 's/;bind_address = 127.0.0.1/bind_address = 0.0.0.0/' /etc/couchdb/local.ini && \ 12 | apt-get clean && \ 13 | rm -rf /var/lib/apt/lists/* 14 | 15 | ADD run /usr/local/bin/run 16 | RUN chmod +x /usr/local/bin/run 17 | 18 | VOLUME ["/var/lib/couchdb"] 19 | 20 | EXPOSE 5984 21 | 22 | CMD ["/usr/local/bin/run"] 23 | -------------------------------------------------------------------------------- /ubuntu-couchdb/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-couchdb 2 | 3 | Docker image to run an out of the box CouchDB. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-couchdb . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-couchdb 17 | ``` 18 | 19 | #### Running the CouchDB server 20 | 21 | ```bash 22 | $ docker run -d -p 5984:5984 --name couchdb partlab/ubuntu-couchdb 23 | ``` 24 | 25 | #### Running the CouchDB server with persistent directory 26 | 27 | ```bash 28 | $ docker run -d -p 5984:5984 --name couchdb -v /db:/var/lib/couchdb partlab/ubuntu-couchdb 29 | ``` 30 | 31 | ### Environment variables 32 | 33 | - `COUCHDB_PASSWORD`: Password for the admin user (defaults a password is created - get the password via docker logs ) 34 | 35 | ### Tips 36 | 37 | #### VirtualBox (boot2docker-vm) 38 | 39 | ```bash 40 | $ boot2docker halt 41 | $ VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port5984,tcp,,5984,,5984" 42 | $ boot2docker up 43 | ``` 44 | -------------------------------------------------------------------------------- /ubuntu-couchdb/fig.yml: -------------------------------------------------------------------------------- 1 | couchdb: 2 | build: . 3 | ports: 4 | - "5984:5984" 5 | volumes: 6 | - data/couchdb:/var/run/couchdb \ 7 | -------------------------------------------------------------------------------- /ubuntu-couchdb/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | COUCHDB_PASSWORD=${COUCHDB_PASSWORD:-$(pwgen -c -n -1 14)} 4 | 5 | COUCHDB_DATA=/var/run/couchdb/ 6 | 7 | if [ ! -d "$COUCHDB_DATA" ]; then 8 | mkdir $COUCHDB_DATA 9 | 10 | curl -s -X PUT http://127.0.0.1:5984/_config/admins/admin -d $COUCHDB_PASSWORD 11 | 12 | echo "========================================================================" 13 | echo " couchdb password is ${COUCHDB_PASSWORD}" 14 | echo "========================================================================" 15 | fi 16 | 17 | exec /usr/bin/couchdb 18 | -------------------------------------------------------------------------------- /ubuntu-droneci/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN wget http://downloads.drone.io/master/drone.deb && \ 10 | dpkg -i drone.deb && \ 11 | rm drone.deb && \ 12 | apt-get clean && \ 13 | rm -rf /var/lib/apt/lists/* 14 | 15 | VOLUME /var/lib/drone 16 | 17 | EXPOSE 80 18 | 19 | CMD ["/usr/local/bin/droned", "--config", "/etc/drone/drone.toml"] 20 | -------------------------------------------------------------------------------- /ubuntu-droneci/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-droneci 2 | 3 | Docker image to run an out of the box Drone CI. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-droneci . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-droneci 17 | ``` 18 | 19 | #### Running the Drone CI server 20 | 21 | ```bash 22 | $ docker run -d -p 8080:80 --name droneci partlab/ubuntu-droneci 23 | ``` 24 | 25 | #### Running the Drone CI server with persistent directory 26 | 27 | ```bash 28 | $ docker run -d -p 8080:80 --name droneci -v :/var/lib/drone partlab/ubuntu-droneci 29 | ``` 30 | 31 | ### Tips 32 | 33 | #### VirtualBox (boot2docker-vm) 34 | 35 | ```bash 36 | $ boot2docker halt 37 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port8080,tcp,,8080,,8080" 38 | $ boot2docker up 39 | ``` 40 | -------------------------------------------------------------------------------- /ubuntu-droneci/fig.yml: -------------------------------------------------------------------------------- 1 | droneci: 2 | build: . 3 | ports: 4 | - "8080:80" 5 | volumes: 6 | - data/droneci:/var/lib/drone \ 7 | -------------------------------------------------------------------------------- /ubuntu-elasticsearch/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu-java 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | ENV PATH=$PATH:/usr/share/elasticsearch/bin 9 | 10 | RUN wget -qO - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add - && \ 11 | echo 'deb http://packages.elasticsearch.org/elasticsearch/2.x/debian stable main' \ 12 | | tee /etc/apt/sources.list.d/elasticsearch.list && \ 13 | apt-get update && \ 14 | apt-get install --no-install-recommends -y elasticsearch && \ 15 | /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head && \ 16 | apt-get clean && \ 17 | rm -rf /var/lib/apt/lists/* 18 | 19 | WORKDIR /usr/share/elasticsearch 20 | 21 | RUN set -ex \ 22 | && for path in \ 23 | ./data \ 24 | ./logs \ 25 | ./config \ 26 | ./config/scripts \ 27 | ; do \ 28 | mkdir -p "$path"; \ 29 | chown -R elasticsearch:elasticsearch "$path"; \ 30 | done 31 | 32 | COPY ./config /usr/share/elasticsearch/config 33 | 34 | USER elasticsearch 35 | 36 | VOLUME ["/usr/share/elasticsearch"] 37 | 38 | EXPOSE 9200 9300 39 | 40 | CMD ["elasticsearch"] 41 | -------------------------------------------------------------------------------- /ubuntu-elasticsearch/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-elasticsearch 2 | 3 | Docker image to run an out of the box Elasticsearch. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-elasticsearch . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-elasticsearch 17 | ``` 18 | 19 | #### Running the Elasticsearch server 20 | 21 | ```bash 22 | $ docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch partlab/ubuntu-elasticsearch 23 | ``` 24 | 25 | #### Running the Elasticsearch server with persistent directory 26 | 27 | ```bash 28 | $ docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch -v :/var/lib/elasticsearch partlab/ubuntu-elasticsearch 29 | ``` 30 | 31 | ### Tips 32 | 33 | #### VirtualBox (boot2docker-vm) 34 | 35 | ```bash 36 | $ boot2docker halt 37 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port9200,tcp,,9200,,9200" 38 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port9300,tcp,,9300,,9300" 39 | $ boot2docker up 40 | ``` 41 | -------------------------------------------------------------------------------- /ubuntu-elasticsearch/config/elasticsearch.yml: -------------------------------------------------------------------------------- 1 | network.host: 0.0.0.0 2 | -------------------------------------------------------------------------------- /ubuntu-elasticsearch/config/logging.yml: -------------------------------------------------------------------------------- 1 | es.logger.level: INFO 2 | rootLogger: ${es.logger.level}, console 3 | logger: 4 | action: DEBUG 5 | com.amazonaws: WARN 6 | appender: 7 | console: 8 | type: console 9 | layout: 10 | type: consolePattern 11 | conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n" 12 | -------------------------------------------------------------------------------- /ubuntu-elasticsearch/fig.yml: -------------------------------------------------------------------------------- 1 | elasticsearch: 2 | build: . 3 | ports: 4 | - "9200:9200" 5 | - "9300:9300" 6 | volumes: 7 | - data/elasticsearch:/var/lib/elasticsearch \ 8 | -------------------------------------------------------------------------------- /ubuntu-golang/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | ENV GOVERSION 1.6.2 9 | ENV GOROOT /opt/go 10 | ENV GOPATH /root/.go 11 | 12 | RUN cd /opt && wget https://storage.googleapis.com/golang/go${GOVERSION}.linux-amd64.tar.gz && \ 13 | tar zxf go${GOVERSION}.linux-amd64.tar.gz && rm go${GOVERSION}.linux-amd64.tar.gz && \ 14 | ln -s /opt/go/bin/go /usr/bin/ && \ 15 | mkdir $GOPATH 16 | 17 | CMD ["/usr/bin/go"] 18 | -------------------------------------------------------------------------------- /ubuntu-golang/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-golang 2 | 3 | Simple base docker image to run golang applications 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-golang . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-golang 17 | ``` 18 | 19 | #### Usage 20 | 21 | #### Using (example) 22 | 23 | On Dockerfile 24 | 25 | FROM partlab/ubuntu-golang 26 | 27 | ADD . /opt/go/src/myapp 28 | 29 | RUN go get github.com/gin-gonic/gin 30 | RUN go install myapp 31 | 32 | ENTRYPOINT /opt/go/bin/myapp 33 | 34 | EXPOSE 8080 35 | 36 | ```bash 37 | $ docker build -t myapp . 38 | $ docker run -p 8080:8080 --name myapp --rm myapp 39 | ``` 40 | -------------------------------------------------------------------------------- /ubuntu-hhvm/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu-php 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN apt-get update && \ 10 | apt-get install --no-install-recommends -y hhvm && \ 11 | apt-get clean && \ 12 | rm -rf /var/lib/apt/lists/* 13 | 14 | CMD ["/usr/bin/hhvm"] 15 | -------------------------------------------------------------------------------- /ubuntu-hhvm/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-hhvm 2 | 3 | Simple base docker image to run PHP with HHVM applications. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-hhvm . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-hhvm 17 | ``` 18 | 19 | #### Usage 20 | 21 | ```bash 22 | $ docker run -it --rm partlab/ubuntu-hhvm hhvm --version 23 | ``` 24 | -------------------------------------------------------------------------------- /ubuntu-java/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN apt-get update && \ 10 | apt-get install --no-install-recommends -y openjdk-8-jre-headless && \ 11 | apt-get clean && \ 12 | rm -rf /var/lib/apt/lists/* 13 | 14 | CMD ["/usr/bin/java"] 15 | -------------------------------------------------------------------------------- /ubuntu-java/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-java 2 | 3 | Simple base docker image to run java applications 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-java . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-java 17 | ``` 18 | 19 | #### Usage 20 | 21 | ```bash 22 | $ docker run -it --rm partlab/ubuntu-java java -version 23 | ``` 24 | 25 | -------------------------------------------------------------------------------- /ubuntu-jenkins/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu-java 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN wget -qO - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - && \ 10 | echo 'deb http://pkg.jenkins-ci.org/debian binary/' \ 11 | | tee /etc/apt/sources.list.d/jenkins.list && \ 12 | apt-get update && \ 13 | apt-get install --no-install-recommends -y jenkins && \ 14 | apt-get clean && \ 15 | rm -rf /var/lib/apt/lists/* && \ 16 | update-rc.d -f jenkins disable 17 | 18 | ENV JENKINS_HOME /var/jenkins 19 | 20 | EXPOSE 8080 50000 21 | 22 | CMD ["/usr/bin/java", "-jar", "/usr/share/jenkins/jenkins.war"] 23 | -------------------------------------------------------------------------------- /ubuntu-jenkins/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-jenkins 2 | 3 | Docker image to run an out of the box Jenkins. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-jenkins . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-jenkins 17 | ``` 18 | 19 | #### Running the Jenkins server 20 | 21 | ```bash 22 | $ docker run -d -p 8080:8080 -p 50000:50000 --name jenkins partlab/ubuntu-jenkins 23 | ``` 24 | 25 | #### Running the Jenkins server with persistent directory 26 | 27 | ```bash 28 | $ docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v :/var/jenkins partlab/ubuntu-jenkins 29 | ``` 30 | 31 | ### Tips 32 | 33 | #### VirtualBox (boot2docker-vm) 34 | 35 | ```bash 36 | $ boot2docker halt 37 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port8080,tcp,,8080,,8080" 38 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port50000,tcp,,50000,,50000" 39 | $ boot2docker up 40 | ``` 41 | 42 | -------------------------------------------------------------------------------- /ubuntu-jenkins/fig.yml: -------------------------------------------------------------------------------- 1 | jenkins: 2 | build: . 3 | ports: 4 | - "8080:8080" 5 | - "50000:50000" 6 | volumes: 7 | - data/jenkins:/var/jenkins \ 8 | -------------------------------------------------------------------------------- /ubuntu-mariadb/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0xcbcb082a1bb943db && \ 10 | echo 'deb http://download.nus.edu.sg/mirror/mariadb/repo/10.1/ubuntu vivid main' \ 11 | | tee /etc/apt/sources.list.d/mariadb.list && \ 12 | apt-get update && \ 13 | apt-get install --no-install-recommends -y mariadb-server && \ 14 | sed -i 's/^\(bind-address\s.*\)/# \1/' /etc/mysql/my.cnf && \ 15 | apt-get clean && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | update-rc.d -f mysql disable 18 | 19 | ADD run /usr/local/bin/run 20 | RUN chmod +x /usr/local/bin/run 21 | 22 | VOLUME ["/var/lib/mysql"] 23 | 24 | EXPOSE 3306 25 | 26 | CMD ["/usr/local/bin/run"] 27 | -------------------------------------------------------------------------------- /ubuntu-mariadb/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-mariadb 2 | 3 | Docker image to run an out of the box MariaDB. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-mariadb . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-mariadb 17 | ``` 18 | 19 | #### Running the MariaDB server 20 | 21 | ```bash 22 | $ docker run -d -p 3306:3306 -e MARIADB_ROOT_PASSWORD= --name mariadb partlab/ubuntu-mariadb 23 | ``` 24 | 25 | #### Running the MariaDB server with persistent directory 26 | 27 | ```bash 28 | $ docker run -d -p 3306:3306 --name mariadb -v /db:/var/lib/mysql partlab/ubuntu-mariadb 29 | ``` 30 | 31 | ### Environment variables 32 | 33 | - `MARIADB_ROOT_PASSWORD`: Password for the root user (set every time the server starts, defaults is a blank password) 34 | - `MARIADB_DATABASE`: A database to automatically create if it doesn't exist. If not provided, does not create a database. 35 | - `MARIADB_USER`: A user to create that has access to the database specified by `MARIADB_DATABASE`. 36 | - `MARIADB_PASSWORD`: The password for `MARIADB_USER`. (defaults is a blank password) 37 | 38 | ### Tips 39 | 40 | #### VirtualBox (boot2docker-vm) 41 | 42 | ```bash 43 | $ boot2docker halt 44 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port3306,tcp,,3306,,3306" 45 | $ boot2docker up 46 | ``` 47 | -------------------------------------------------------------------------------- /ubuntu-mariadb/fig.yml: -------------------------------------------------------------------------------- 1 | mariadb: 2 | build: . 3 | ports: 4 | - "3306:3306" 5 | volumes: 6 | - data/mysql:/var/lib/mysql \ 7 | -------------------------------------------------------------------------------- /ubuntu-mariadb/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD:-""} 4 | MARIADB_DATABASE=${MARIADB_DATABASE:-""} 5 | MARIADB_USER=${MARIADB_USER:-""} 6 | MARIADB_PASSWORD=${MARIADB_PASSWORD:-""} 7 | 8 | config=`mktemp` 9 | if [[ ! -f "$config" ]]; then 10 | return 1 11 | fi 12 | 13 | if [ ! -f /var/lib/mysql/ibdata1 ]; then 14 | mysql_install_db 15 | fi 16 | 17 | cat << EOF > $config 18 | USE mysql; 19 | FLUSH PRIVILEGES; 20 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; 21 | UPDATE user SET password=PASSWORD("$MARIADB_ROOT_PASSWORD") WHERE user='root'; 22 | EOF 23 | 24 | if [[ $MARIADB_DATABASE != "" ]]; then 25 | echo "CREATE DATABASE IF NOT EXISTS \`$MARIADB_DATABASE\` CHARACTER SET utf8 COLLATE utf8_general_ci;" >> $config 26 | if [[ $MARIADB_USER != "" ]]; then 27 | echo "GRANT ALL ON \`$MARIADB_DATABASE\`.* to '$MARIADB_USER'@'%' IDENTIFIED BY '$MARIADB_PASSWORD';" >> $config 28 | fi 29 | fi 30 | 31 | /usr/sbin/mysqld --bootstrap --verbose=0 < $config 32 | rm -f $config 33 | 34 | exec sudo -u mysql /usr/sbin/mysqld 35 | -------------------------------------------------------------------------------- /ubuntu-meteor/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu-iojs 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN curl https://install.meteor.com/ | sh 10 | 11 | CMD ["/usr/local/bin/meteor"] 12 | -------------------------------------------------------------------------------- /ubuntu-meteor/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-meteor 2 | 3 | Simple base docker image to run Meteor applications 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-meteor . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-meteor 17 | ``` 18 | 19 | #### Usage 20 | 21 | ```bash 22 | $ docker run -it --rm partlab/ubuntu-meteor meteor --version 23 | ``` 24 | -------------------------------------------------------------------------------- /ubuntu-mongodb/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 && \ 10 | echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' \ 11 | | tee /etc/apt/sources.list.d/10gen.list && \ 12 | apt-get update && \ 13 | apt-get install -y --no-install-recommends mongodb-org && \ 14 | apt-get clean && \ 15 | rm -rf /var/lib/apt/lists/* 16 | 17 | VOLUME ["/data/db"] 18 | 19 | EXPOSE 27017 28017 20 | 21 | CMD ["/usr/bin/mongod", "--smallfiles"] 22 | -------------------------------------------------------------------------------- /ubuntu-mongodb/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-mongodb 2 | 3 | Docker image to run an out of the box MongoDB. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-mongodb . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-mongodb 17 | ``` 18 | 19 | #### Running the MongoDB server 20 | 21 | ```bash 22 | $ docker run -d -p 27017:27017 -p 28017:28017 --name mongodb partlab/ubuntu-mongodb 23 | ``` 24 | 25 | #### Running the MongoDB server with persistent directory 26 | 27 | ```bash 28 | $ docker run -d -p 27017:27017 -p 28017:28017 --name mongodb -v /db:/var/lib/mongodb partlab/ubuntu-mongodb 29 | ``` 30 | 31 | ### Tips 32 | 33 | #### VirtualBox (boot2docker-vm) 34 | 35 | ```bash 36 | $ boot2docker halt 37 | $ VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port27017,tcp,,27017,,27017" 38 | $ VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port28017,tcp,,28017,,28017" 39 | $ boot2docker up 40 | ``` 41 | -------------------------------------------------------------------------------- /ubuntu-mongodb/fig.yml: -------------------------------------------------------------------------------- 1 | mongodb: 2 | build: . 3 | ports: 4 | - "27017:27017" 5 | - "28017:28017" 6 | volumes: 7 | - data/mongodb:/var/lib/mongodb \ 8 | -------------------------------------------------------------------------------- /ubuntu-neo4j/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu-java 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN wget -O - http://debian.neo4j.org/neotechnology.gpg.key | apt-key add - && \ 10 | echo 'deb http://debian.neo4j.org/repo stable/' \ 11 | | tee /etc/apt/sources.list.d/neo4j.list && \ 12 | apt-get update && \ 13 | apt-get install --no-install-recommends -y neo4j && \ 14 | sed -i "s|dbms.security.auth_enabled=true|dbms.security.auth_enabled=false|g" /etc/neo4j/neo4j-server.properties && \ 15 | apt-get clean && \ 16 | rm -rf /var/lib/apt/lists/* 17 | 18 | ADD run /usr/local/bin/run 19 | RUN chmod +x /usr/local/bin/run 20 | 21 | VOLUME ["/var/lib/neo4j"] 22 | 23 | EXPOSE 7474 1337 24 | 25 | CMD ["/usr/local/bin/run"] 26 | -------------------------------------------------------------------------------- /ubuntu-neo4j/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-neo4j 2 | 3 | Docker image to run an out of the box neo4j. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-neo4j . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-neo4j 17 | ``` 18 | 19 | #### Running the neo4j server 20 | 21 | ```bash 22 | $ docker run -d -p 7474:7474 --name neo4j partlab/ubuntu-neo4j 23 | ``` 24 | 25 | #### Running the neo4j server with persistent directory 26 | 27 | ```bash 28 | $ docker run -d -p 7474:7474 --name neo4j -v :/var/lib/neo4j partlab/ubuntu-neo4j 29 | ``` 30 | 31 | ### Tips 32 | 33 | #### VirtualBox (boot2docker-vm) 34 | 35 | ```bash 36 | $ boot2docker halt 37 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port7474,tcp,,7474,,7474" 38 | $ boot2docker up 39 | ``` 40 | -------------------------------------------------------------------------------- /ubuntu-neo4j/fig.yml: -------------------------------------------------------------------------------- 1 | elasticsearch: 2 | build: . 3 | ports: 4 | - "7474:7474" 5 | volumes: 6 | - data/neo4j:/var/lib/neo4j \ 7 | -------------------------------------------------------------------------------- /ubuntu-neo4j/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NEO4J_HOME=/var/lib/neo4j 4 | 5 | ulimit -n 65536 6 | echo 'dbms.security.auth_enabled=false' >> $NEO4J_HOME/conf/neo4j-server.properties 7 | sed -i "s|#org.neo4j.server.webserver.address=0.0.0.0|org.neo4j.server.webserver.address=$HOSTNAME|g" $NEO4J_HOME/conf/neo4j-server.properties 8 | $NEO4J_HOME/bin/neo4j console 9 | -------------------------------------------------------------------------------- /ubuntu-nginx/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN apt-get update && \ 10 | apt-get install --no-install-recommends -y nginx && \ 11 | apt-get clean && \ 12 | echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \ 13 | rm -rf /var/lib/apt/lists/* 14 | 15 | VOLUME ["/var/www", "/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d"] 16 | 17 | EXPOSE 80 443 18 | 19 | CMD ["/usr/sbin/nginx"] 20 | -------------------------------------------------------------------------------- /ubuntu-nginx/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-nginx 2 | 3 | Docker image to run an out of the box Nginx. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-nginx . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-nginx 17 | ``` 18 | -------------------------------------------------------------------------------- /ubuntu-nginx/fig.yml: -------------------------------------------------------------------------------- 1 | nginx: 2 | build: . 3 | ports: 4 | - "80:80" 5 | - "443:443" 6 | volumes: 7 | - data/www:/var/www \ 8 | -------------------------------------------------------------------------------- /ubuntu-nodejs/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | ENV NODEJS_VERSION 6.1.0 10 | ENV NODEJS_PCK node-v$NODEJS_VERSION-linux-x64 11 | 12 | RUN cd /opt && wget https://nodejs.org/dist/v$NODEJS_VERSION/$NODEJS_PCK.tar.gz && \ 13 | tar zxf $NODEJS_PCK.tar.gz && rm $NODEJS_PCK.tar.gz && \ 14 | ln -s /opt/$NODEJS_PCK/bin/node /usr/bin/node && \ 15 | ln -s /opt/$NODEJS_PCK/bin/npm /usr/bin/ && \ 16 | apt-get update && apt-get install python build-essential -y && \ 17 | npm install -g node-gyp && \ 18 | apt-get clean && \ 19 | rm -rf /var/lib/apt/lists/* 20 | 21 | CMD ["/usr/bin/node"] 22 | -------------------------------------------------------------------------------- /ubuntu-nodejs/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-nodejs 2 | 3 | Simple base docker image to run Node.js applications 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-nodejs . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-nodejs 17 | ``` 18 | 19 | #### Usage 20 | 21 | ```bash 22 | $ docker run -it --rm partlab/ubuntu-nodejs node --version 23 | ``` 24 | -------------------------------------------------------------------------------- /ubuntu-php/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN apt-get update && \ 10 | apt-get install --no-install-recommends -y php \ 11 | php-fpm php-cli php-mysqlnd php-pgsql php-sqlite3 php-redis \ 12 | php-apcu php-intl php-imagick php-mcrypt \ 13 | php-json php-gd php-curl && \ 14 | apt-get clean && \ 15 | rm -rf /var/lib/apt/lists/* 16 | 17 | CMD ["/usr/bin/php"] 18 | -------------------------------------------------------------------------------- /ubuntu-php/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-php 2 | 3 | Simple base docker image to run php applications. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-php . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-php 17 | ``` 18 | 19 | #### Using (example) 20 | 21 | On Dockerfile 22 | 23 | FROM partlab/ubuntu-php 24 | ADD . / 25 | 26 | ```bash 27 | $ docker build -t . 28 | $ docker run -d -p 8080:8080 --name mywebsite php -S 0.0.0.0:8080 -t / 29 | ``` 30 | 31 | ### Tips 32 | 33 | #### VirtualBox (boot2docker-vm) 34 | 35 | ```bash 36 | $ boot2docker halt 37 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port8080,tcp,,8080,,8080" 38 | $ boot2docker up 39 | ``` 40 | -------------------------------------------------------------------------------- /ubuntu-postgresql/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | ENV PG_VERSION 9.5 9 | 10 | RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 && \ 11 | echo 'deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main' \ 12 | | tee /etc/apt/sources.list.d/postgresql.list && \ 13 | apt-get update && \ 14 | apt-get install -y -q --no-install-recommends \ 15 | postgresql-$PG_VERSION postgresql-client-$PG_VERSION postgresql-contrib-$PG_VERSION && \ 16 | apt-get clean && \ 17 | rm -rf /var/lib/apt/lists/* && \ 18 | echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/$PG_VERSION/main/pg_hba.conf && \ 19 | echo "listen_addresses='*'" >> /etc/postgresql/$PG_VERSION/main/postgresql.conf && \ 20 | rm -rf /var/lib/postgresql/$PG_VERSION/main && \ 21 | update-rc.d -f postgresql disable 22 | 23 | ADD run /usr/local/bin/run 24 | RUN chmod +x /usr/local/bin/run 25 | 26 | VOLUME ["/var/lib/postgresql"] 27 | 28 | EXPOSE 5432 29 | 30 | CMD ["/usr/local/bin/run"] 31 | -------------------------------------------------------------------------------- /ubuntu-postgresql/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-postgresql 2 | 3 | Docker image to run an out of the box PostgreSQL. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-postgresql . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-postgresql 17 | ``` 18 | 19 | #### Running the PostgreSQL server 20 | 21 | ```bash 22 | $ docker run -d -p 5432:5432 -e POSTGRES_PASSWORD= --name postgresql partlab/ubuntu-postgresql 23 | ``` 24 | 25 | #### Running the PostgreSQL server with persistent directory 26 | 27 | ```bash 28 | $ docker run -d -p 5432:5432 --name postgresql -v /db:/var/lib/postgresql partlab/ubuntu-postgresql 29 | ``` 30 | 31 | ### Environment variables 32 | 33 | - `POSTGRES_PASSWORD`: Password for the postgres user (defaults a password is created - get the password via docker logs ) 34 | 35 | ### Tips 36 | 37 | #### VirtualBox (boot2docker-vm) 38 | 39 | ```bash 40 | $ boot2docker halt 41 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port5432,tcp,,5432,,5432" 42 | $ boot2docker up 43 | ``` 44 | -------------------------------------------------------------------------------- /ubuntu-postgresql/fig.yml: -------------------------------------------------------------------------------- 1 | postgresql: 2 | build: . 3 | ports: 4 | - "5432:5432" 5 | volumes: 6 | - data/postgresql:/var/lib/postgresql \ 7 | -------------------------------------------------------------------------------- /ubuntu-postgresql/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | POSTGRES_VERSION=9.5 4 | POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-$(pwgen -c -n -1 14)} 5 | 6 | POSTGRESQL_BIN=/usr/lib/postgresql/${POSTGRES_VERSION}/bin/postgres 7 | POSTGRESQL_CONFIG_FILE=/etc/postgresql/${POSTGRES_VERSION}/main/postgresql.conf 8 | POSTGRESQL_DATA=/var/lib/postgresql/${POSTGRES_VERSION}/main 9 | 10 | if [ ! -d "$POSTGRESQL_DATA" ]; then 11 | echo "${POSTGRES_PASSWORD}" > /var/lib/postgresql/pwfile 12 | 13 | sudo -u postgres -H /usr/lib/postgresql/${POSTGRES_VERSION}/bin/initdb \ 14 | --pgdata=/var/lib/postgresql/${POSTGRES_VERSION}/main --pwfile=/var/lib/postgresql/pwfile \ 15 | --username=postgres --encoding=unicode --auth=trust >/dev/null 16 | 17 | echo "========================================================================" 18 | echo " postgres password is ${POSTGRES_PASSWORD}" 19 | echo "========================================================================" 20 | fi 21 | 22 | exec sudo -u postgres $POSTGRESQL_BIN -D $POSTGRESQL_DATA -c config_file=$POSTGRESQL_CONFIG_FILE 23 | -------------------------------------------------------------------------------- /ubuntu-redis/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN apt-get update && \ 10 | apt-get install --no-install-recommends -y redis-server && \ 11 | apt-get clean && \ 12 | rm -rf /var/lib/apt/lists/* && \ 13 | update-rc.d -f redis-server disable && \ 14 | sed -i 's/^\(bind .*\)$/# \1/' /etc/redis/redis.conf && \ 15 | sed -i 's/^\(daemonize .*\)$/# \1/' /etc/redis/redis.conf 16 | 17 | VOLUME ["/var/lib/redis"] 18 | 19 | EXPOSE 6379 20 | 21 | CMD ["/usr/bin/redis-server", "/etc/redis/redis.conf"] 22 | -------------------------------------------------------------------------------- /ubuntu-redis/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-redis 2 | 3 | Docker image to run an out of the box Redis server. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-redis . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-redis 17 | ``` 18 | 19 | #### Running the Redis server 20 | 21 | ```bash 22 | $ docker run -d -p 6379:6379 --name redis partlab/ubuntu-redis 23 | ``` 24 | 25 | #### Running the Redis server with persistent directory 26 | 27 | ```bash 28 | $ docker run -d -p 6379:6379 --name redis -v /db:/var/lib/redis partlab/ubuntu-redis 29 | ``` 30 | 31 | ### Tips 32 | 33 | #### VirtualBox (boot2docker-vm) 34 | 35 | ```bash 36 | $ boot2docker halt 37 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port6379,tcp,,6379,,6379" 38 | $ boot2docker up 39 | ``` 40 | -------------------------------------------------------------------------------- /ubuntu-redis/fig.yml: -------------------------------------------------------------------------------- 1 | redis: 2 | build: . 3 | ports: 4 | - "6379:6379" 5 | volumes: 6 | - data/redis:/var/lib/redis \ 7 | -------------------------------------------------------------------------------- /ubuntu-ruby/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN apt-get update && \ 10 | gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 && \ 11 | apt-get install -y openssh-server openssh-client && \ 12 | apt-get clean && \ 13 | rm -rf /var/lib/apt/lists/* 14 | 15 | RUN \curl -ksSL https://get.rvm.io | bash -s stable --ruby 16 | RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc" 17 | ENV PATH /usr/local/rvm/bin:/usr/local/rvm/rubies/default/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 18 | -------------------------------------------------------------------------------- /ubuntu-ruby/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-ruby 2 | 3 | Simple base docker image to run Ruby applications. 4 | This image uses rvm and the last stable version of ruby. 5 | 6 | ### Usage 7 | 8 | #### Build 9 | 10 | ```bash 11 | $ docker build -t partlab/ubuntu-ruby . 12 | ``` 13 | 14 | #### Download automated build 15 | 16 | ```bash 17 | $ docker pull partlab/ubuntu-ruby 18 | ``` 19 | 20 | #### Usage 21 | 22 | ```bash 23 | $ docker run -it --rm partlab/ubuntu-ruby ruby --version 24 | ``` 25 | -------------------------------------------------------------------------------- /ubuntu-scala/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu-java 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | ENV SCALA_VERSION 2.11.8 10 | ENV SCALA_PKG scala-$SCALA_VERSION 11 | 12 | RUN echo 'deb http://dl.bintray.com/sbt/debian /' \ 13 | | tee /etc/apt/sources.list.d/sbt.list && \ 14 | apt-get update && \ 15 | apt-get install --no-install-recommends -y --force-yes sbt && \ 16 | wget http://www.scala-lang.org/files/archive/$SCALA_PKG.deb && \ 17 | dpkg -i $SCALA_PKG.deb && rm $SCALA_PKG.deb && \ 18 | apt-get clean && \ 19 | rm -rf /var/lib/apt/lists/* 20 | 21 | CMD ["scala"] 22 | -------------------------------------------------------------------------------- /ubuntu-scala/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-scala 2 | 3 | Simple base docker image to run scala applications 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-scala . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-scala 17 | ``` 18 | 19 | #### Usage 20 | 21 | ```bash 22 | $ docker run -it --rm partlab/ubuntu-scala scala -version 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /ubuntu-tmate/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN add-apt-repository ppa:nviennot/tmate && \ 10 | apt-get update && \ 11 | apt-get install --no-install-recommends -y openssh-server tmate && \ 12 | echo -e 'y\n'|ssh-keygen -q -t rsa -N "" -f ~/.ssh/id_rsa && \ 13 | apt-get clean && \ 14 | rm -rf /var/lib/apt/lists/* 15 | 16 | EXPOSE 2222 17 | 18 | CMD ["/usr/bin/tmate"] 19 | -------------------------------------------------------------------------------- /ubuntu-tmate/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-tmate 2 | 3 | A docker image with tmate - a fork tmux with share 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-tmate . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-tmate 17 | ``` 18 | 19 | #### Usage 20 | 21 | ```bash 22 | $ docker run -ti --rm -p 2222:2222 partlab/ubuntu-tmate 23 | ``` 24 | 25 | ### Tips 26 | 27 | #### VirtualBox (boot2docker-vm) 28 | 29 | ```bash 30 | $ boot2docker halt 31 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port2222,tcp,,2222,,2222" 32 | $ boot2docker up 33 | ``` 34 | -------------------------------------------------------------------------------- /ubuntu-typesafe/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu-java 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | ENV TYPESAFE_VERSION 1.3.6 10 | ENV TYPESAFE_PKG typesafe-activator-$TYPESAFE_VERSION 11 | 12 | RUN cd /opt && wget http://downloads.typesafe.com/typesafe-activator/$TYPESAFE_VERSION/$TYPESAFE_PKG.zip && \ 13 | apt-get update && apt-get install -y unzip && \ 14 | unzip $TYPESAFE_PKG.zip && \ 15 | ln -s /opt/activator-$TYPESAFE_VERSION /opt/activator && \ 16 | rm -f /opt/$TYPESAFE_PKG.zip && \ 17 | apt-get remove --purge -y unzip && \ 18 | apt-get clean && \ 19 | rm -rf /var/lib/apt/lists/* 20 | 21 | VOLUME ["/opt/activator"] 22 | 23 | EXPOSE 8888 9000 24 | 25 | CMD ["/opt/activator/activator", "ui", "-Dhttp.address=0.0.0.0"] 26 | -------------------------------------------------------------------------------- /ubuntu-typesafe/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-typesafe 2 | 3 | Docker image to run an out of the box Typesafe Activator. 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-typesafe . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-typesafe 17 | ``` 18 | 19 | #### Running the Typesafe Activator server 20 | 21 | ```bash 22 | $ docker run -d -p 8888:8888 -p 9000:9000 --name typesafe partlab/ubuntu-typesafe 23 | ``` 24 | 25 | #### Running the Typesafe Activator server with persistent directory 26 | 27 | ```bash 28 | $ docker run -d -p 8888:8888 -p 9000:9000 --name typesafe -v :/opt/activator-1.2.10 partlab/ubuntu-typesafe 29 | ``` 30 | 31 | ### Tips 32 | 33 | #### VirtualBox (boot2docker-vm) 34 | 35 | ```bash 36 | $ boot2docker halt 37 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port8888,tcp,,8888,,8888" 38 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port9000,tcp,,9000,,9000" 39 | $ boot2docker up 40 | ``` 41 | -------------------------------------------------------------------------------- /ubuntu-typesafe/fig.yml: -------------------------------------------------------------------------------- 1 | typesafe: 2 | build: . 3 | ports: 4 | - "8888:8888" 5 | - "9000:9000" 6 | volumes: 7 | - data/typesafe:/opt/activator-1.2.10 \ 8 | -------------------------------------------------------------------------------- /ubuntu-websocketd/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM partlab/ubuntu 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | ENV WEBSKD_VERSION 0.2.12 9 | 10 | RUN wget https://github.com/joewalnes/websocketd/releases/download/v$WEBSKD_VERSION/websocketd-$WEBSKD_VERSION\_amd64.deb && \ 11 | dpkg -i websocketd-$WEBSKD_VERSION\_amd64.deb && \ 12 | rm websocketd-$WEBSKD_VERSION\_amd64.deb && \ 13 | apt-get clean && \ 14 | rm -rf /var/lib/apt/lists/* 15 | 16 | EXPOSE 8080 17 | -------------------------------------------------------------------------------- /ubuntu-websocketd/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu-websocketd 2 | 3 | Simple base docker image to run [websocketd](http://websocketd.com/). 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu-websocketd . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu-websocketd 17 | ``` 18 | 19 | #### Using (example) 20 | 21 | On Dockerfile 22 | 23 | FROM partlab/ubuntu-websocketd 24 | ADD . //filename.sh 25 | 26 | ```bash 27 | $ docker build -t . 28 | $ docker run -d -p 8080:8080 --name websocket websocketd --port=8080 --devconsole //filename.sh 29 | ``` 30 | 31 | ### Tips 32 | 33 | #### VirtualBox (boot2docker-vm) 34 | 35 | ```bash 36 | $ boot2docker halt 37 | $ VBoxManage modifyvm boot2docker-vm --natpf1 "tcp-port8080,tcp,,8080,,8080" 38 | $ boot2docker up 39 | ``` 40 | -------------------------------------------------------------------------------- /ubuntu/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:latest 2 | 3 | MAINTAINER Régis Gaidot 4 | 5 | ENV DEBIAN_FRONTEND noninteractive 6 | ENV INITRD No 7 | ENV LANG en_US.UTF-8 8 | 9 | RUN apt-get update && \ 10 | apt-get upgrade -y && \ 11 | apt-get install -y --no-install-recommends \ 12 | vim.tiny wget curl sudo net-tools pwgen \ 13 | git-core logrotate software-properties-common && \ 14 | locale-gen en_US en_US.UTF-8 && \ 15 | apt-get clean && \ 16 | rm -rf /var/lib/apt/lists/* 17 | 18 | CMD ["bash"] 19 | -------------------------------------------------------------------------------- /ubuntu/README.md: -------------------------------------------------------------------------------- 1 | ## partlab/ubuntu 2 | 3 | Simple Ubuntu docker images. Based on docker image ubuntu 4 | 5 | ### Usage 6 | 7 | #### Build 8 | 9 | ```bash 10 | $ docker build -t partlab/ubuntu . 11 | ``` 12 | 13 | #### Download automated build 14 | 15 | ```bash 16 | $ docker pull partlab/ubuntu 17 | ``` 18 | 19 | #### Running 20 | 21 | ```bash 22 | $ docker run -it --rm partlab/ubuntu bash 23 | ``` 24 | --------------------------------------------------------------------------------