SlideShare a Scribd company logo
1 of 44
DOCKER
CONTAINER
MANAGEMENT
Karol Kreft
1.
BASICS
“Containers are an abstraction at the app layer that
packages code and dependencies together. Multiple
containers can run on the same machine and share the OS
kernel with other containers, each running as isolated
processes in user space.“
docker containers
“Containers are an abstraction at the app layer that
packages code and dependencies together. Multiple
containers can run on the same machine and share the OS
kernel with other containers, each running as isolated
processes in user space.“
docker containers
“To use a programming metaphor, if an image is a class,
then a container is an instance of a class—a runtime
object.”
DOCKER
COMPOSE
PHP-FPM Postgreswww
DOCKER
COMPOSE
PHP-FPM Postgreswww
Dockerfileentrypoint.sh
version: '2'
services:
www:
build: ./docker/www
ports:
- 8080:80
volumes_from:
- fpm
fpm:
build: ./
volumes:
- .:/var/www
working_dir: /var/www
links:
- postgres
postgres:
image: postgres
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=pass
- POSTGRES_DB=demo
ports:
- 54321:5432
docker-compose.yml
$ docker-compose up -d
$ docker-compose up -d
$ docker-compose -f docker-compose.yml up -d
$ docker-compose up -d
$ docker-compose -f docker-compose.yml up -d
$ docker-compose -f docker-compose.dev.yml -f docker-
compose.yml up -d
$ docker-compose up -d
$ docker-compose -f docker-compose.yml up -d
$ docker-compose -f docker-compose.dev.yml -f docker-
compose.yml up -d
$ dawajdoker
dup() {
if [ -f ./docker-compose.dev.yml ]; then
command docker-compose -f docker-compose.dev.yml -f
docker-compose.yml up -d
command docker-compose -f docker-compose.dev.yml -f
docker-compose.yml ps
else
command docker-compose up -d && docker-compose ps
fi
}
dup() {
if [ -f ./docker-compose.dev.yml ]; then
command docker-compose -f docker-compose.dev.yml -f
docker-compose.yml up -d
command docker-compose -f docker-compose.dev.yml -f
docker-compose.yml ps
else
command docker-compose up -d && docker-compose ps
fi
}
Name Command State Ports
----------------------------------------------------------------------------------------------------------
c1a3bd068237_c1a3bd068237_zpi_fpm_1 docker-php-entrypoint php-fpm Exit 0
zpi_jobrunner_1 /usr/bin/supervisord Exit 255
zpi_mailhog_1 MailHog Up 1025/tcp, 0.0.0.0:8084-
>8025/tcp
zpi_phppgadmin_1 /run.sh Up 0.0.0.0:8083->80/tcp
zpi_postgres_1 /docker-entrypoint.sh postgres Up 0.0.0.0:54321->5432/tcp
zpi_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
zpi_www_1 /usr/sbin/apache2ctl -D FO ... Exit 137
docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------------------
c1a3bd068237_c1a3bd068237_zpi_fpm_1 docker-php-entrypoint php-fpm Exit 0
zpi_jobrunner_1 /usr/bin/supervisord Exit 255
zpi_mailhog_1 MailHog Up 1025/tcp, 0.0.0.0:8084-
>8025/tcp
zpi_phppgadmin_1 /run.sh Up 0.0.0.0:8083->80/tcp
zpi_postgres_1 /docker-entrypoint.sh postgres Up 0.0.0.0:54321->5432/tcp
zpi_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
zpi_www_1 /usr/sbin/apache2ctl -D FO ... Exit 137
docker-compose ps
zpi_www_1
Name Command State Ports
----------------------------------------------------------------------------------------------------------
c1a3bd068237_c1a3bd068237_zpi_fpm_1 docker-php-entrypoint php-fpm Exit 0
zpi_jobrunner_1 /usr/bin/supervisord Exit 255
zpi_mailhog_1 MailHog Up 1025/tcp, 0.0.0.0:8084-
>8025/tcp
zpi_phppgadmin_1 /run.sh Up 0.0.0.0:8083->80/tcp
zpi_postgres_1 /docker-entrypoint.sh postgres Up 0.0.0.0:54321->5432/tcp
zpi_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
zpi_www_1 /usr/sbin/apache2ctl -D FO ... Exit 137
docker-compose ps
Exit 137
Attaching to zpi_www_1
www_1 | AH00112: Warning: DocumentRoot
[/var/www/html] does not exist
www_1 | AH00558: apache2: Could not reliably
determine the server's fully qualified domain name, using
172.18.0.7. Set the 'ServerName' directive globally to
suppress this message
www_1 | AH00112: Warning: DocumentRoot
[/var/www/html] does not exist
www_1 | AH00558: apache2: Could not reliably
determine the server's fully qualified domain name, using
172.18.0.2. Set the 'ServerName' directive globally to
suppress this message
docker-compose logs www
Attaching to zpi_www_1
www_1 | AH00112: Warning: DocumentRoot
[/var/www/html] does not exist
www_1 | AH00558: apache2: Could not reliably
determine the server's fully qualified domain name, using
172.18.0.7. Set the 'ServerName' directive globally to
suppress this message
www_1 | AH00112: Warning: DocumentRoot
[/var/www/html] does not exist
www_1 | AH00558: apache2: Could not reliably
determine the server's fully qualified domain name, using
172.18.0.2. Set the 'ServerName' directive globally to
suppress this message
docker-compose logs www
Attaching to zpi_www_1
www_1 | AH00112: Warning: DocumentRoot
[/var/www/html] does not exist
www_1 | AH00558: apache2: Could not reliably
determine the server's fully qualified domain name, using
172.18.0.7. Set the 'ServerName' directive globally to
suppress this message
www_1 | AH00112: Warning: DocumentRoot
[/var/www/html] does not exist
www_1 | AH00558: apache2: Could not reliably
determine the server's fully qualified domain name, using
172.18.0.2. Set the 'ServerName' directive globally to
suppress this message
docker-compose logs www
$ docker-compose restart
$ docker-compose restart
$ docker-compose restart www
$ docker-compose down
$ docker-compose down
Stops containers and removes containers, networks, volumes, and images created by up.
$ docker-compose stop
Stops running containers without removing them.
$ docker-compose stop
$ docker-compose stop www
$ docker-compose rm www
$ docker stop $(docker ps -a -q)
$ docker rm $(docker ps -a -q)
remove all containers
2.
portainer.io
“The easiest way to
manage docker”
BUT
WHY?
There is a lot of other solutions.
1. Appreciated by the community
2. Regularly developed
3. Promising Roadmap
awesome-docker
Latest commit c5db620 on 19 Jun 2016
Latest commit f0dd33b on 29 Mar 2015
Latest commit 5274c15 on 6 Jul 2016
Deprecation warning
future: docker compose support
future: docker compose support
Last comment in topic: 07.06.2017 19:44
installation
$ docker run -v "/var/run/docker.sock:/var/run/docker.sock"
-d -p 9000:9000 portainer/portainer
Underline part will be required for local environment, more info you can find here.
dashboard
dashboard
containers
container details
container details
THANKS!
Any questions?
CREDITS
Sources:
▸ JDD 2016: Docker. Przewodnik dla początkujących (Marcin Stożek)
▸ docker-awesome
▸ Docker basic concepts
Presentation template by SlidesCarnival

More Related Content

What's hot

ByPat博客出品Lvs+keepalived
ByPat博客出品Lvs+keepalivedByPat博客出品Lvs+keepalived
ByPat博客出品Lvs+keepalived
redhat9
 
How we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental BackupsHow we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental Backups
nicholaspaun
 
Ubuntu安装SVN总结
Ubuntu安装SVN总结Ubuntu安装SVN总结
Ubuntu安装SVN总结
wensheng wei
 
Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...
wensheng wei
 

What's hot (20)

Vagrant
VagrantVagrant
Vagrant
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
 
Docker Network Overview and legacy "--link"
Docker Network Overview and legacy "--link"Docker Network Overview and legacy "--link"
Docker Network Overview and legacy "--link"
 
ByPat博客出品Lvs+keepalived
ByPat博客出品Lvs+keepalivedByPat博客出品Lvs+keepalived
ByPat博客出品Lvs+keepalived
 
Really useful linux commands
Really useful linux commandsReally useful linux commands
Really useful linux commands
 
Troubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support EngineerTroubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support Engineer
 
Deep dive in Docker Overlay Networks
Deep dive in Docker Overlay NetworksDeep dive in Docker Overlay Networks
Deep dive in Docker Overlay Networks
 
How we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental BackupsHow we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental Backups
 
Ubuntu安装SVN总结
Ubuntu安装SVN总结Ubuntu安装SVN总结
Ubuntu安装SVN总结
 
Dev ops
Dev opsDev ops
Dev ops
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
 
青云CoreOS虚拟机部署kubernetes
青云CoreOS虚拟机部署kubernetes 青云CoreOS虚拟机部署kubernetes
青云CoreOS虚拟机部署kubernetes
 
Light my-fuse
Light my-fuseLight my-fuse
Light my-fuse
 
CoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love SystemdCoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love Systemd
 
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on DockerRunning High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
 
Deeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay NetworksDeeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay Networks
 
Dockerizing WordPress
Dockerizing WordPressDockerizing WordPress
Dockerizing WordPress
 
Replacing Squid with ATS
Replacing Squid with ATSReplacing Squid with ATS
Replacing Squid with ATS
 
Failsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo HomepageFailsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo Homepage
 
Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...
 

Similar to Docker container management

Similar to Docker container management (20)

Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
 
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)
 
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署
 
Academy PRO: Docker. Lecture 3
Academy PRO: Docker. Lecture 3Academy PRO: Docker. Lecture 3
Academy PRO: Docker. Lecture 3
 
Docker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak PeekDocker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak Peek
 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Development
 
Introduction to Docker - Learning containerization XP conference 2016
Introduction to Docker - Learning containerization  XP conference 2016Introduction to Docker - Learning containerization  XP conference 2016
Introduction to Docker - Learning containerization XP conference 2016
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班
 
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
 
Challenges of container configuration
Challenges of container configurationChallenges of container configuration
Challenges of container configuration
 
廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班
 
Running .NET on Docker
Running .NET on DockerRunning .NET on Docker
Running .NET on Docker
 
Docker Introductory workshop
Docker Introductory workshopDocker Introductory workshop
Docker Introductory workshop
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
 
Azure from scratch part 5 By Girish Kalamati
Azure from scratch part 5 By Girish KalamatiAzure from scratch part 5 By Girish Kalamati
Azure from scratch part 5 By Girish Kalamati
 
Nats meetup oct 2016 docker 112
Nats meetup oct 2016 docker 112Nats meetup oct 2016 docker 112
Nats meetup oct 2016 docker 112
 
Containerizing Web Application with Docker
Containerizing Web Application with DockerContainerizing Web Application with Docker
Containerizing Web Application with Docker
 
Docker Compose and Panamax - ContainerDays Boston - June 2015
Docker Compose and Panamax - ContainerDays Boston - June 2015Docker Compose and Panamax - ContainerDays Boston - June 2015
Docker Compose and Panamax - ContainerDays Boston - June 2015
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Docker container management

  • 3. “Containers are an abstraction at the app layer that packages code and dependencies together. Multiple containers can run on the same machine and share the OS kernel with other containers, each running as isolated processes in user space.“ docker containers
  • 4. “Containers are an abstraction at the app layer that packages code and dependencies together. Multiple containers can run on the same machine and share the OS kernel with other containers, each running as isolated processes in user space.“ docker containers “To use a programming metaphor, if an image is a class, then a container is an instance of a class—a runtime object.”
  • 7. version: '2' services: www: build: ./docker/www ports: - 8080:80 volumes_from: - fpm fpm: build: ./ volumes: - .:/var/www working_dir: /var/www links: - postgres postgres: image: postgres environment: - POSTGRES_USER=user - POSTGRES_PASSWORD=pass - POSTGRES_DB=demo ports: - 54321:5432 docker-compose.yml
  • 9. $ docker-compose up -d $ docker-compose -f docker-compose.yml up -d
  • 10. $ docker-compose up -d $ docker-compose -f docker-compose.yml up -d $ docker-compose -f docker-compose.dev.yml -f docker- compose.yml up -d
  • 11. $ docker-compose up -d $ docker-compose -f docker-compose.yml up -d $ docker-compose -f docker-compose.dev.yml -f docker- compose.yml up -d
  • 13. dup() { if [ -f ./docker-compose.dev.yml ]; then command docker-compose -f docker-compose.dev.yml -f docker-compose.yml up -d command docker-compose -f docker-compose.dev.yml -f docker-compose.yml ps else command docker-compose up -d && docker-compose ps fi }
  • 14. dup() { if [ -f ./docker-compose.dev.yml ]; then command docker-compose -f docker-compose.dev.yml -f docker-compose.yml up -d command docker-compose -f docker-compose.dev.yml -f docker-compose.yml ps else command docker-compose up -d && docker-compose ps fi }
  • 15. Name Command State Ports ---------------------------------------------------------------------------------------------------------- c1a3bd068237_c1a3bd068237_zpi_fpm_1 docker-php-entrypoint php-fpm Exit 0 zpi_jobrunner_1 /usr/bin/supervisord Exit 255 zpi_mailhog_1 MailHog Up 1025/tcp, 0.0.0.0:8084- >8025/tcp zpi_phppgadmin_1 /run.sh Up 0.0.0.0:8083->80/tcp zpi_postgres_1 /docker-entrypoint.sh postgres Up 0.0.0.0:54321->5432/tcp zpi_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp zpi_www_1 /usr/sbin/apache2ctl -D FO ... Exit 137 docker-compose ps
  • 16. Name Command State Ports ---------------------------------------------------------------------------------------------------------- c1a3bd068237_c1a3bd068237_zpi_fpm_1 docker-php-entrypoint php-fpm Exit 0 zpi_jobrunner_1 /usr/bin/supervisord Exit 255 zpi_mailhog_1 MailHog Up 1025/tcp, 0.0.0.0:8084- >8025/tcp zpi_phppgadmin_1 /run.sh Up 0.0.0.0:8083->80/tcp zpi_postgres_1 /docker-entrypoint.sh postgres Up 0.0.0.0:54321->5432/tcp zpi_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp zpi_www_1 /usr/sbin/apache2ctl -D FO ... Exit 137 docker-compose ps zpi_www_1
  • 17. Name Command State Ports ---------------------------------------------------------------------------------------------------------- c1a3bd068237_c1a3bd068237_zpi_fpm_1 docker-php-entrypoint php-fpm Exit 0 zpi_jobrunner_1 /usr/bin/supervisord Exit 255 zpi_mailhog_1 MailHog Up 1025/tcp, 0.0.0.0:8084- >8025/tcp zpi_phppgadmin_1 /run.sh Up 0.0.0.0:8083->80/tcp zpi_postgres_1 /docker-entrypoint.sh postgres Up 0.0.0.0:54321->5432/tcp zpi_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp zpi_www_1 /usr/sbin/apache2ctl -D FO ... Exit 137 docker-compose ps Exit 137
  • 18. Attaching to zpi_www_1 www_1 | AH00112: Warning: DocumentRoot [/var/www/html] does not exist www_1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.7. Set the 'ServerName' directive globally to suppress this message www_1 | AH00112: Warning: DocumentRoot [/var/www/html] does not exist www_1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.2. Set the 'ServerName' directive globally to suppress this message docker-compose logs www
  • 19. Attaching to zpi_www_1 www_1 | AH00112: Warning: DocumentRoot [/var/www/html] does not exist www_1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.7. Set the 'ServerName' directive globally to suppress this message www_1 | AH00112: Warning: DocumentRoot [/var/www/html] does not exist www_1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.2. Set the 'ServerName' directive globally to suppress this message docker-compose logs www
  • 20. Attaching to zpi_www_1 www_1 | AH00112: Warning: DocumentRoot [/var/www/html] does not exist www_1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.7. Set the 'ServerName' directive globally to suppress this message www_1 | AH00112: Warning: DocumentRoot [/var/www/html] does not exist www_1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.2. Set the 'ServerName' directive globally to suppress this message docker-compose logs www
  • 22. $ docker-compose restart $ docker-compose restart www
  • 24. $ docker-compose down Stops containers and removes containers, networks, volumes, and images created by up.
  • 25. $ docker-compose stop Stops running containers without removing them.
  • 26. $ docker-compose stop $ docker-compose stop www
  • 28. $ docker stop $(docker ps -a -q) $ docker rm $(docker ps -a -q) remove all containers
  • 29. 2. portainer.io “The easiest way to manage docker”
  • 30. BUT WHY? There is a lot of other solutions.
  • 31. 1. Appreciated by the community 2. Regularly developed 3. Promising Roadmap
  • 33.
  • 34. Latest commit c5db620 on 19 Jun 2016 Latest commit f0dd33b on 29 Mar 2015 Latest commit 5274c15 on 6 Jul 2016 Deprecation warning
  • 36. future: docker compose support Last comment in topic: 07.06.2017 19:44
  • 37. installation $ docker run -v "/var/run/docker.sock:/var/run/docker.sock" -d -p 9000:9000 portainer/portainer Underline part will be required for local environment, more info you can find here.
  • 44. CREDITS Sources: ▸ JDD 2016: Docker. Przewodnik dla początkujących (Marcin Stożek) ▸ docker-awesome ▸ Docker basic concepts Presentation template by SlidesCarnival