Docker pour le développement Java

Post on 06-Apr-2017

771 views 2 download

Transcript of Docker pour le développement Java

Docker pour le dev Java

1. Les besoins du dev

1. Les besoins du dev

1. Les besoins du dev

1. Une solution ?

1. Une solution ?

1. Une solution ?

1. Outillage Docker

docker engine

docker-machine boot2docker

docker-compose fig

1. Installation

1. Installation

apt-get install docker-compose

brew cask install virtualbox

brew install docker-compose

1. Utilisation

docker-machine create --driver virtualbox dev

docker-machine start dev && eval "$(docker-machine env dev)"

docker-machine stop dev

Cas d’utilisation

1. Environnement de construction

1. Environnement de construction

1. Environnement de construction

Dockerfile

FROM ubuntu:14.04MAINTAINER oudry.s@sfeir.com################################################## Build Box with Java 6u45 and Maven 3.1.1#################################################

# Make sure repo is updatedENV DEBIAN_FRONTEND noninteractiveRUN echo "deb http://archive.ubuntu.com/ubuntu trusty main universe" > /etc/apt/sources.listRUN apt-get update# Needed to use add-apt-repositoryRUN sudo apt-get install -y --no-install-recommends \

python-software-properties \software-properties-common

# Install Java 6 from PPARUN echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \ echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections && \ add-apt-repository -y ppa:webupd8team/java && \ apt-get update && \ apt-get install -y oracle-java6-installerENV JAVA_HOME /usr/lib/jvm/java-6-oracle/ENV PATH $JAVA_HOME/bin:$PATH

# Install Maven 3.1.1 from binariesENV MAVEN_VERSION 3.1.1RUN wget -nv http://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz && \

tar -zxf apache-maven-$MAVEN_VERSION-bin.tar.gz -C /usr/local && \rm apache-maven-*.tar.gz

ENV M2_HOME /usr/local/apache-maven-$MAVEN_VERSIONENV PATH $M2_HOME/bin:$PATH

VOLUME /codeWORKDIR /codeENTRYPOINT ["mvn"]CMD ["-version"]

1. Environnement de construction

cd /dir/of/my/Dockerfile

docker build -t mvnjava6 .

docker run mvnjava6

cd /dir/of/my/pom

docker run -v "$(pwd)":/code mvnjava6 package

1. Environnement d'exécution

1. Environnement d'exécution

1. Environnement d'exécution

docker-compose.yml ftp: image: andrewvos/docker-proftpd ports: - "21:21" volumes: - ./TMP/ftp:/ftp environment: - USERNAME=username - PASSWORD=password

jetty: build: ./jetty ports: - "8082:8080" volumes: - ./WEB/little-app/target/little-app.war:/opt/jetty/webapps/little-app.war

jboss: build: ./jboss ports: - "8009:8009" - "8787:8787" links: - jetty - ftp volumes: - ./RESSOURCES/src/ressources/fig/:/data/ressources/fig/ # War - ./WEB/big-app/web/:/local/jboss/jboss-6.1.0.Final/server/default/deploy/big-app-3.29.0-SNAPSHOT.war/ - ./WEB/big-app/target/classes/:/local/jboss/jboss-6.1.0.Final/server/default/deploy/big-app-3.29.0-SNAPSHOT.war/WEB-INF/classes/ #Java - ./RESSOURCES/fig/java.security:/usr/lib/jvm/java-6-oracle/jre/lib/security/java.security #jboss - ./RESSOURCES/fig/oracle-ds.xml:/local/jboss/jboss-6.1.0.Final/server/default/deploy/oracle-ds.xml

apache: build: ./apache/ ports: - "80:80" - "90:90" - "89:89" - "443:443" volumes: - ./RESSOURCES/statics/:/data/ressources/apache/ links: - jboss

1. Environnement de construction

cd /dir/of/my/docker-compose

docker-compose build

docker-compose up -d --force-recreate

docker-compose logs jbossdocker exec -it jboss bash

1. Environnement d'exécution

1. Partage des sources

Comment y arriver ?

1. Apprentissage

1. Apprentissage

1. Apprentissage

1. Apprentissage

1. Apprentissage

1. Une solution ?

1. Une solution !

1. Questions ?

1. Questions ?