SlideShare a Scribd company logo
1 of 71
Bart Caro, Info Support
Johan Janssen, Info Support, @johanjanssen42
Why
Docker
Different options
Multiple teams
Docker registry
Summary
Questions
Docker on Ubuntu 15.04
apt-get install docker.io
docker run -it
ubuntu:15.04 /bin/bash
FROM java:8-jdk
RUN wget …/netbeans-8.0.2-linux.sh
RUN chmod +x netbeans*.sh
RUN sh netbeans*.sh --silent
CMD /usr/local/netbeans-8.0.2/bin/netbeans
docker images -tree
└─153bf43b408a 194.2 MB test-version-0.1:latest
docker pull 192.168.56.31:5000/test-version-0.2
ff7e110ebadd: Download complete
153bf43b408a: Download complete
docker images -tree
└─153bf43b408a 194.2 MB test-version-0.1:latest
└─ff7e110ebadd 194.2 MB test-version-0.2:latest
Disk space efficiency
Memory efficiency
Speed
Compatibility (run anywhere)
Isolation
Versioning
Internet of Things (Raspberry Pi etc.)
GeneralBase
AppServerBase
Environment D
Environment T
Environment A
Environment P
Jenkins
JenkinsDataContainer
Sonar Gitblit Nexus
# docker.io images --tree
└─ 179.9 MB Tags: ubuntu:saucy
└─253.6 MB
└─741.8 MB Tags: GeneralBase:latest
└─763.6 MB Tags: AppServerBase:latest
├─763.6 MB Tags: EnvironmentP:latest
└─865.6 MB Tags: Nexus:latest
└─808.3 MB Tags: Gitblit:latest
└─901.5 MB Tags: Sonar:latest
└─805.4 MB Tags: Jenkins:latest
real 4m11.729s
user 0m3.329s
sys 0m10.054s
DTAP environment
Mainly running non-GUI applications
Continuous delivery, testing etc.
Development !
Docker run command:
-v $PWD/workspace:/workspace
Workspace
Plugins
Application in application server
Maven repo
Configuration
Entire home folder??
Simple
Expose xhost
Read / write through the X11 unix socket
Safer
Use your user’s credentials to access the display
server
Isolated
Create a user with the same uid and gid as the host
More info: http://wiki.ros.org/docker/Tutorials/GUI
No protocol specified error ->
xhost local:root
RUN wget …/netbeans-8.0.2-linux.sh
RUN chmod +x netbeans*.sh
RUN sh netbeans*.sh –silent
// Set netbeans_default_userdir=/workspace/userdir
RUN sed -i …
// Set netbeans_default_cachedir=/workspace/cachedir
RUN sed -i …
FROM java:8-jdk
// General part
CMD /usr/local/netbeans-8.0.2/bin/netbeans
docker build -t netbeansx11 .
docker run -ti --rm 
-e DISPLAY=$DISPLAY 
-v /tmp/.X11-unix:/tmp/.X11-unix 
-v $PWD/workspace:/workspace 
-v $PWD/m2:/root/.m2 
-p 8081:8080 
netbeansx11
FROM java:8-jdk
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get install -y xfce4 xvfb x11vnc supervisor
RUN adduser --disabled-password --gecos '' johan
ADD vnc.conf /etc/supervisor/conf.d/
// General part
EXPOSE 5900
CMD ["supervisord", "-n"]
[program:xvfb]
[program:x11vnc]
command=/usr/bin/x11vnc -forever -display :1
process_name = x11vnc
autorestart=true
user=johan
[program:xfce4]
command=/usr/bin/xfce4-session
process_name = xfce4
autorestart=true
user=johan
environment=DISPLAY=":1",HOME="/home/johan"
docker build -t netbeansvnc .
docker run -d 
-v $PWD/workspace:/workspace 
-v $PWD/m2:/root/.m2 
-p 5900:5900 
-p 8082:8080 
netbeansvnc
FROM fedora:22
RUN dnf -y groupinstall 'Xfce Desktop' && yum clean
all
COPY Xclients /etc/skel/.Xclients
RUN dnf -y install supervisor xrdp && dnf clean all
RUN useradd johan && echo johan:secret | chpasswd
COPY xrdp.ini /etc/supervisord.d/
# Allow all users to connect
RUN sed -i '/TerminalServerUsers/d'
/etc/xrdp/sesman.ini && sed -i
'/TerminalServerAdmins/d' /etc/xrdp/sesman.ini
RUN dnf -y install java java-devel
ENV JAVA_HOME /usr/lib/jvm/java-openjdk
// General part
EXPOSE 3389
CMD ["supervisord", "-n"]
[program:xrdp-sesman]
command=/usr/sbin/xrdp-sesman --nodaemon
process_name = xrdp-sesman
[program:xrdp]
command=/usr/sbin/xrdp -nodaemon
process_name = xrdp
docker build -t netbeansxrdp .
docker run -d 
-v $PWD/workspace:/workspace 
-v $PWD/m2:/root/.m2 
-p 3389:3389 
-p 8083:8080 
netbeansxrdp
Team
Frodo
image
Base
image
Team
Bilbo
image
• App Gimli
• App Elrond
Team
Frodo
• App Elrond
Team
Bilbo
• App Radagast
Team
Galadriel
App
means
application
server etc.
Where do
we place
the Elrond
App?
• App Gimli
• App Elrond
Team
Frodo
• App Elrond
Team
Bilbo
• App Radagast
Team
Galadriel
Tomcat
Image
Gimli Elrond Radagast
Fedora
Image
Development
environment
Define and run multi container Docker
applications
Using a Compose file
Link containers
‘docker-compose up’ to start the containers
TomcatGimli
DockerFile
TomcatElrond
DockerFile
TomcatRadagast
Dockerfile
DevEnv
Dockerfile
docker-compose.yml
tomcatgimli:
build: TomcatGimli
tomcatelrond:
build: TomcatElrond
tomcatradagast:
build: TomcatRadagast
developmentenvironment:
build: DevEnv
ports:
- "3389:3389"
links:
- tomcatgimli:gimli
# Makes gimli available on
# http://gimli:8080
- tomcatelrond:elrond
- tomcatradagast:radagast
Creating the Docker registry
docker run -p 5000:5000 registry
Change container (using touch for instance)
Commit
docker.io commit 064f
192.168.56.31:5000/test-version-0.2
New containerid -> ff7e
Push
docker.io push
192.168.56.31:5000/test-version-0.2
Pull
docker.io pull
192.168.56.31:5000/test-version-0.2
Run
docker.io run -i -t ff7e /bin/bash
Easy to use
Highly flexible and customizable
Start playing with Docker!
https://bitbucket.org/johanjanssen/dockeride
@johanjanssen42

More Related Content

What's hot

Perspectives on Docker
Perspectives on DockerPerspectives on Docker
Perspectives on DockerRightScale
 
John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14dotCloud
 
Docker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesDocker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesLuciano Fiandesio
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless modeAkihiro Suda
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Ruoshi Ling
 
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQdotCloud
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOpsandersjanmyr
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemVan Phuc
 
Intro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsIntro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsThomas Chacko
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsBen Hall
 
Containerizing Web Application with Docker
Containerizing Web Application with DockerContainerizing Web Application with Docker
Containerizing Web Application with Dockermsyukor
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned RightScale
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境謝 宗穎
 
Solving Real World Production Problems with Docker
Solving Real World Production Problems with DockerSolving Real World Production Problems with Docker
Solving Real World Production Problems with DockerMarc Campbell
 
Building Reusable Development Environments with Docker
Building Reusable Development Environments with DockerBuilding Reusable Development Environments with Docker
Building Reusable Development Environments with DockerRevelation Technologies
 
Using docker to develop NAS applications
Using docker to develop NAS applicationsUsing docker to develop NAS applications
Using docker to develop NAS applicationsTerry Chen
 
Docker presentation | Paris Docker Meetup
Docker presentation | Paris Docker MeetupDocker presentation | Paris Docker Meetup
Docker presentation | Paris Docker MeetupdotCloud
 
HP Advanced Technology Group: Docker and Ansible
HP Advanced Technology Group: Docker and AnsibleHP Advanced Technology Group: Docker and Ansible
HP Advanced Technology Group: Docker and AnsiblePatrick Galbraith
 

What's hot (20)

Perspectives on Docker
Perspectives on DockerPerspectives on Docker
Perspectives on Docker
 
John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14
 
Docker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesDocker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutes
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨
 
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOps
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 
Intro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsIntro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and Windows
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 
Containerizing Web Application with Docker
Containerizing Web Application with DockerContainerizing Web Application with Docker
Containerizing Web Application with Docker
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
 
Solving Real World Production Problems with Docker
Solving Real World Production Problems with DockerSolving Real World Production Problems with Docker
Solving Real World Production Problems with Docker
 
Building Reusable Development Environments with Docker
Building Reusable Development Environments with DockerBuilding Reusable Development Environments with Docker
Building Reusable Development Environments with Docker
 
Using docker to develop NAS applications
Using docker to develop NAS applicationsUsing docker to develop NAS applications
Using docker to develop NAS applications
 
Docker presentation | Paris Docker Meetup
Docker presentation | Paris Docker MeetupDocker presentation | Paris Docker Meetup
Docker presentation | Paris Docker Meetup
 
Tech Talk - Vagrant
Tech Talk - VagrantTech Talk - Vagrant
Tech Talk - Vagrant
 
HP Advanced Technology Group: Docker and Ansible
HP Advanced Technology Group: Docker and AnsibleHP Advanced Technology Group: Docker and Ansible
HP Advanced Technology Group: Docker and Ansible
 
Docker workshop
Docker workshopDocker workshop
Docker workshop
 

Viewers also liked

Essence Of Containerizati on 230508
Essence Of Containerizati on 230508 Essence Of Containerizati on 230508
Essence Of Containerizati on 230508 jansowri
 
Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Chris Ciborowski
 
A Primer to Containerization & Microservices
A Primer to Containerization & MicroservicesA Primer to Containerization & Microservices
A Primer to Containerization & MicroservicesShiju Varghese
 
Containerization using docker
Containerization using dockerContainerization using docker
Containerization using dockerVinod Doshi
 
Software Containerization
Software ContainerizationSoftware Containerization
Software ContainerizationRoshan Deniyage
 
How The Container Store uses AppDynamics in their development lifecycle
How The Container Store uses AppDynamics in their development lifecycleHow The Container Store uses AppDynamics in their development lifecycle
How The Container Store uses AppDynamics in their development lifecycleAppDynamics
 
Docker containerization cookbook
Docker containerization cookbookDocker containerization cookbook
Docker containerization cookbookPascal Louis
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerizationBalint Pato
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsTomohide Kakeya
 
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...Lightbend
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Jérôme Petazzoni
 
Scaling Docker with Kubernetes
Scaling Docker with KubernetesScaling Docker with Kubernetes
Scaling Docker with KubernetesCarlos Sanchez
 
Docker for Java developers at JavaLand
Docker for Java developers at JavaLandDocker for Java developers at JavaLand
Docker for Java developers at JavaLandJohan Janssen
 
A tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutesA tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutesJohan Janssen
 
Welcome alexa, your personal assistant
Welcome alexa, your personal assistantWelcome alexa, your personal assistant
Welcome alexa, your personal assistantJohan Janssen
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Docker, Inc.
 

Viewers also liked (16)

Essence Of Containerizati on 230508
Essence Of Containerizati on 230508 Essence Of Containerizati on 230508
Essence Of Containerizati on 230508
 
Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015
 
A Primer to Containerization & Microservices
A Primer to Containerization & MicroservicesA Primer to Containerization & Microservices
A Primer to Containerization & Microservices
 
Containerization using docker
Containerization using dockerContainerization using docker
Containerization using docker
 
Software Containerization
Software ContainerizationSoftware Containerization
Software Containerization
 
How The Container Store uses AppDynamics in their development lifecycle
How The Container Store uses AppDynamics in their development lifecycleHow The Container Store uses AppDynamics in their development lifecycle
How The Container Store uses AppDynamics in their development lifecycle
 
Docker containerization cookbook
Docker containerization cookbookDocker containerization cookbook
Docker containerization cookbook
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
 
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
 
Scaling Docker with Kubernetes
Scaling Docker with KubernetesScaling Docker with Kubernetes
Scaling Docker with Kubernetes
 
Docker for Java developers at JavaLand
Docker for Java developers at JavaLandDocker for Java developers at JavaLand
Docker for Java developers at JavaLand
 
A tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutesA tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutes
 
Welcome alexa, your personal assistant
Welcome alexa, your personal assistantWelcome alexa, your personal assistant
Welcome alexa, your personal assistant
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
 

Similar to Hide your development environment and application in a container

Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with dockerJohan Janssen
 
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...NLJUG
 
Docker command
Docker commandDocker command
Docker commandEric Ahn
 
ERP System Implementation Kubernetes Cluster with Sticky Sessions
ERP System Implementation Kubernetes Cluster with Sticky Sessions ERP System Implementation Kubernetes Cluster with Sticky Sessions
ERP System Implementation Kubernetes Cluster with Sticky Sessions Chanaka Lasantha
 
Dockerfish-Tutorial
Dockerfish-TutorialDockerfish-Tutorial
Dockerfish-TutorialBrian Hood
 
Hands-On Session Docker
Hands-On Session DockerHands-On Session Docker
Hands-On Session DockerLinetsChile
 
Preparation study of_docker - (MOSG)
Preparation study of_docker  - (MOSG)Preparation study of_docker  - (MOSG)
Preparation study of_docker - (MOSG)Soshi Nemoto
 
Tensorflow in Docker
Tensorflow in DockerTensorflow in Docker
Tensorflow in DockerEric Ahn
 
Linux Containers From Scratch
Linux Containers From ScratchLinux Containers From Scratch
Linux Containers From Scratchjoshuasoundcloud
 
Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Stefan Scherer
 
DeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerDeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerSteve Smith
 
Docker & FieldAware
Docker & FieldAwareDocker & FieldAware
Docker & FieldAwareJakub Jarosz
 
Component pack 6006 install guide
Component pack 6006 install guideComponent pack 6006 install guide
Component pack 6006 install guideRoberto Boccadoro
 
Streamline your development environment with docker
Streamline your development environment with dockerStreamline your development environment with docker
Streamline your development environment with dockerGiacomo Bagnoli
 
Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Ben Hall
 

Similar to Hide your development environment and application in a container (20)

Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
 
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
 
Docker command
Docker commandDocker command
Docker command
 
ERP System Implementation Kubernetes Cluster with Sticky Sessions
ERP System Implementation Kubernetes Cluster with Sticky Sessions ERP System Implementation Kubernetes Cluster with Sticky Sessions
ERP System Implementation Kubernetes Cluster with Sticky Sessions
 
Dockerfish-Tutorial
Dockerfish-TutorialDockerfish-Tutorial
Dockerfish-Tutorial
 
Docker practice
Docker practiceDocker practice
Docker practice
 
From zero to Docker
From zero to DockerFrom zero to Docker
From zero to Docker
 
Introducing Docker
Introducing DockerIntroducing Docker
Introducing Docker
 
Hands-On Session Docker
Hands-On Session DockerHands-On Session Docker
Hands-On Session Docker
 
JavaCro'15 - Conquer the Internet of Things with Java and Docker - Johan Jans...
JavaCro'15 - Conquer the Internet of Things with Java and Docker - Johan Jans...JavaCro'15 - Conquer the Internet of Things with Java and Docker - Johan Jans...
JavaCro'15 - Conquer the Internet of Things with Java and Docker - Johan Jans...
 
Preparation study of_docker - (MOSG)
Preparation study of_docker  - (MOSG)Preparation study of_docker  - (MOSG)
Preparation study of_docker - (MOSG)
 
Tensorflow in Docker
Tensorflow in DockerTensorflow in Docker
Tensorflow in Docker
 
Linux Containers From Scratch
Linux Containers From ScratchLinux Containers From Scratch
Linux Containers From Scratch
 
Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
DeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerDeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to Docker
 
Docker & FieldAware
Docker & FieldAwareDocker & FieldAware
Docker & FieldAware
 
Component pack 6006 install guide
Component pack 6006 install guideComponent pack 6006 install guide
Component pack 6006 install guide
 
Streamline your development environment with docker
Streamline your development environment with dockerStreamline your development environment with docker
Streamline your development environment with docker
 
Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)
 

More from Johan Janssen

How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17Johan Janssen
 
Upgrade to java 16 or 17
Upgrade to java 16 or 17Upgrade to java 16 or 17
Upgrade to java 16 or 17Johan Janssen
 
Continuous delivery in 50 minutes
Continuous delivery in 50 minutesContinuous delivery in 50 minutes
Continuous delivery in 50 minutesJohan Janssen
 
Create a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutesCreate a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutesJohan Janssen
 
DevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutesDevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutesJohan Janssen
 
Rest no more - Using actors for the internet of (Lego) trains & Raspberry Pi's
Rest no more - Using actors for the internet of (Lego) trains & Raspberry Pi'sRest no more - Using actors for the internet of (Lego) trains & Raspberry Pi's
Rest no more - Using actors for the internet of (Lego) trains & Raspberry Pi'sJohan Janssen
 
How we started our first java conference JVMCON
How we started our first java conference JVMCONHow we started our first java conference JVMCON
How we started our first java conference JVMCONJohan Janssen
 
Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]Johan Janssen
 
Beyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even furtherBeyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even furtherJohan Janssen
 
EuregJUG: Using actors for the internet of (lego) trains
EuregJUG: Using actors for the internet of (lego) trainsEuregJUG: Using actors for the internet of (lego) trains
EuregJUG: Using actors for the internet of (lego) trainsJohan Janssen
 
JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]Johan Janssen
 
JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]
JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]
JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]Johan Janssen
 
JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]Johan Janssen
 
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]Johan Janssen
 

More from Johan Janssen (14)

How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17
 
Upgrade to java 16 or 17
Upgrade to java 16 or 17Upgrade to java 16 or 17
Upgrade to java 16 or 17
 
Continuous delivery in 50 minutes
Continuous delivery in 50 minutesContinuous delivery in 50 minutes
Continuous delivery in 50 minutes
 
Create a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutesCreate a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutes
 
DevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutesDevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutes
 
Rest no more - Using actors for the internet of (Lego) trains & Raspberry Pi's
Rest no more - Using actors for the internet of (Lego) trains & Raspberry Pi'sRest no more - Using actors for the internet of (Lego) trains & Raspberry Pi's
Rest no more - Using actors for the internet of (Lego) trains & Raspberry Pi's
 
How we started our first java conference JVMCON
How we started our first java conference JVMCONHow we started our first java conference JVMCON
How we started our first java conference JVMCON
 
Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]
 
Beyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even furtherBeyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even further
 
EuregJUG: Using actors for the internet of (lego) trains
EuregJUG: Using actors for the internet of (lego) trainsEuregJUG: Using actors for the internet of (lego) trains
EuregJUG: Using actors for the internet of (lego) trains
 
JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]
 
JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]
JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]
JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]
 
JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]
 
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
 

Recently uploaded

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 

Recently uploaded (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 

Hide your development environment and application in a container

Editor's Notes

  1. Back to mainframe, one computer that runs all software, connect to that machine.
  2. Same ports
  3. Setting up environment for (new) teammembers quickly. Quickly change all environments.
  4. Using Docker containers local and DTAP (at least the app server)
  5. X11 (different levels of security) VNC RDP (only app or complete desktop environment)
  6. Start is a bit slow as it’s the first time. Just like biking it takes some time to get up to speed.
  7. Supervisord to monitor and control processes
  8. Virtualbox / Windows not always stable
  9. Running Docker in a Virtual sometimes does not work well. Mainly issues with graphical UI.
  10. Cleaning, remove downloads etc. from the Docker container
  11. Isolate different parts in separate containers. Nicer, but more maintenance.
  12. Stacking containers on top of eachother.
  13. Diskspace quickly disappears when playing with Docker. Do not forget to remove the containers/images.
  14. How secure do you want it?
  15. Best scenario probably depends partly on the fact if the computer is dedicated or shared.