SlideShare uma empresa Scribd logo
1 de 13
Bibliotecas da Docker
Client API com Python e PHP
Biblioteca da Docker API Client com
Biblioteca encontrada no link: https://github.com/docker/docker-py
Para usar a biblioteca com python, antes é necessário ter o docker instalado no
python, para isso basta digitar os seguintes comandos:
$ apt-get instal python-pip
Após instalar o pip execute:
$ pip install docker
E agora, como testar ? ...
De acordo com a documentação, rodando um script semelhante a esse:
import docker
client = docker.from_env()
retorno = client.containers.run("ubuntu", " echo Olá Senhoras e Senhores.")
print(retorno)
iago@iagomachado:~/Desktop/tasks/docker_api_python $ python script.py
Ola Senhoras e Senhores
$ Docker PS
iago@iagomachado:~/Desktop/tasks/docker_api_php/docker-php$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
52b84f7f64cc ubuntu "echo Ola Senhoras..." 1 second ago Up Less than a second
gallant_panini
Documentação Oficial: https://docker-py.readthedocs.io/en/stable/
Biblioteca da Docker API Client com
Biblioteca encontrada no link: https://github.com/docker-php/docker-php
A melhor forma de instalar o docker PHP é com o comando:
$ composer require docker-php/docker-php
Possíveis erros:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- docker-php/docker-php-api v4.1.25.1 requires php >=7.1 -> your PHP version (7.0.27) does not satisfy that requirement.
- docker-php/docker-php-api v4.1.25.0 requires php >=7.1 -> your PHP version (7.0.27) does not satisfy that requirement.
- Installation request for docker-php/docker-php-api 4.1.25.* -> satisfiable by docker-php/docker-php-api[v4.1.25.0, v4.1.25.1].
Solution:
Basta usar o seguinte parâmetro no comando: " --ignore-platform-reqs "
Ficando dessa forma:
$ composer require docker-php/docker-php --ignore-platform-reqs
Feito, agora é só testar ….
Mas como!?
<?php
require "vendor/autoload.php";
use DockerDocker;
$docker = Docker::create();
$containers = $docker->containerList();
foreach ($containers as $container) {
var_dump($container->getNames());
}
Tentei rodar no terminal: $ php teste.php
PHP Parse error: syntax error, unexpected '=' in
/home/iago/Desktop/tasks/docker_api_php/docker-
php/vendor/jane-php/open-api-
runtime/Client/Psr7HttplugClient.php on line 42
Script recomendado pela documentação oficial:
Rodando o mesmo script em uma máquina virtual da Digital Ocean foi a solução.
root@devprodutos-teste-iago:~/docker-php# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
bc123d2212ea 636118772f2e "/bin/bash -e /init/…" 4 minutes ago Up 4 minutes 8080/tcp,
8443/tcp blissful_chebyshev
Muito obrigado Jerônimo!
root@devprodutos-teste-iago:~/docker-php# php teste.php
array(1) {
[0]=>
string(19) "/blissful_chebyshev"
}
Documentação Oficial: http://docker-
php.readthedocs.io/en/latest/
E outras possíveis bibliotecas?
- https://packagist.org/packages/stage1/docker-php - Indica a mesma de PHP
mencionada anteriormente.
- https://www.mundodocker.com.br/docker-api-com-python/ -
- http://containertutorials.com/py/docker-py.html -
- No python a criação e usabilidade da Docker API sempre segue a mesma
lógica.
Obrigado!

Mais conteúdo relacionado

Mais procurados

Desenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de ComandoDesenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de Comandogarux
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoDiogo Lucas
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerWellington Silva
 
Iniciando com o_zend_framework
Iniciando com o_zend_frameworkIniciando com o_zend_framework
Iniciando com o_zend_frameworkMilton Rodrigues
 
Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerStefan Teixeira
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 
Criação de aplicações web com python
Criação de aplicações web com pythonCriação de aplicações web com python
Criação de aplicações web com pythonHelder Vieira
 
Flame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps JavaFlame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps JavaPT.JUG
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...Renato Groff
 
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3O que há de novo no PHP 5.3
O que há de novo no PHP 5.3Jose Berardo
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 
Memcached, Gearman e Sphinx
Memcached, Gearman e SphinxMemcached, Gearman e Sphinx
Memcached, Gearman e SphinxElton Minetto
 

Mais procurados (20)

Docker volumes
Docker volumesDocker volumes
Docker volumes
 
Desenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de ComandoDesenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de Comando
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolso
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 
Capistrano 3
Capistrano 3Capistrano 3
Capistrano 3
 
Tom cat e eclipse
Tom cat e eclipseTom cat e eclipse
Tom cat e eclipse
 
Deploy Rails
Deploy RailsDeploy Rails
Deploy Rails
 
Iniciando com o_zend_framework
Iniciando com o_zend_frameworkIniciando com o_zend_framework
Iniciando com o_zend_framework
 
Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de Docker
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Criação de aplicações web com python
Criação de aplicações web com pythonCriação de aplicações web com python
Criação de aplicações web com python
 
Flame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps JavaFlame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps Java
 
Oficina de Git EEDACT2015
Oficina de Git EEDACT2015Oficina de Git EEDACT2015
Oficina de Git EEDACT2015
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
 
PHP 7
PHP 7PHP 7
PHP 7
 
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3O que há de novo no PHP 5.3
O que há de novo no PHP 5.3
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Memcached, Gearman e Sphinx
Memcached, Gearman e SphinxMemcached, Gearman e Sphinx
Memcached, Gearman e Sphinx
 

Semelhante a Docker API Client with PHP and PYTHON

Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresasRafael Gomes
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Trabalhando em ambientes php com docker
Trabalhando em ambientes php com dockerTrabalhando em ambientes php com docker
Trabalhando em ambientes php com dockerAlef Castelo
 
Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Wallison Marra
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerRafael Gomes
 
Quem tem medo do terminal?
Quem tem medo do terminal?Quem tem medo do terminal?
Quem tem medo do terminal?Rafael Funchal
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIRudá Almeida
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalargustavomtborges
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 
Deploy Heroku
Deploy HerokuDeploy Heroku
Deploy HerokuCreditas
 
Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeRoberto Hashioka
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 
PHP Conference 2016
PHP Conference 2016PHP Conference 2016
PHP Conference 2016Edison Costa
 
Docker - tutorial iniciantes
Docker - tutorial iniciantesDocker - tutorial iniciantes
Docker - tutorial iniciantesDiogoSoares847327
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECLW3P Projetos Web
 

Semelhante a Docker API Client with PHP and PYTHON (20)

Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Trabalhando em ambientes php com docker
Trabalhando em ambientes php com dockerTrabalhando em ambientes php com docker
Trabalhando em ambientes php com docker
 
Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Quem tem medo do terminal?
Quem tem medo do terminal?Quem tem medo do terminal?
Quem tem medo do terminal?
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLI
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalar
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
Deploy Heroku
Deploy HerokuDeploy Heroku
Deploy Heroku
 
Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e Compose
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
PHP Conference 2016
PHP Conference 2016PHP Conference 2016
PHP Conference 2016
 
Python 08
Python 08Python 08
Python 08
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
Docker - tutorial iniciantes
Docker - tutorial iniciantesDocker - tutorial iniciantes
Docker - tutorial iniciantes
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 
Aulão de docker
Aulão de dockerAulão de docker
Aulão de docker
 

Docker API Client with PHP and PYTHON

  • 1. Bibliotecas da Docker Client API com Python e PHP
  • 2. Biblioteca da Docker API Client com
  • 3. Biblioteca encontrada no link: https://github.com/docker/docker-py Para usar a biblioteca com python, antes é necessário ter o docker instalado no python, para isso basta digitar os seguintes comandos: $ apt-get instal python-pip Após instalar o pip execute: $ pip install docker E agora, como testar ? ...
  • 4. De acordo com a documentação, rodando um script semelhante a esse: import docker client = docker.from_env() retorno = client.containers.run("ubuntu", " echo Olá Senhoras e Senhores.") print(retorno) iago@iagomachado:~/Desktop/tasks/docker_api_python $ python script.py Ola Senhoras e Senhores
  • 5. $ Docker PS iago@iagomachado:~/Desktop/tasks/docker_api_php/docker-php$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 52b84f7f64cc ubuntu "echo Ola Senhoras..." 1 second ago Up Less than a second gallant_panini Documentação Oficial: https://docker-py.readthedocs.io/en/stable/
  • 6. Biblioteca da Docker API Client com
  • 7. Biblioteca encontrada no link: https://github.com/docker-php/docker-php A melhor forma de instalar o docker PHP é com o comando: $ composer require docker-php/docker-php Possíveis erros: Your requirements could not be resolved to an installable set of packages. Problem 1 - docker-php/docker-php-api v4.1.25.1 requires php >=7.1 -> your PHP version (7.0.27) does not satisfy that requirement. - docker-php/docker-php-api v4.1.25.0 requires php >=7.1 -> your PHP version (7.0.27) does not satisfy that requirement. - Installation request for docker-php/docker-php-api 4.1.25.* -> satisfiable by docker-php/docker-php-api[v4.1.25.0, v4.1.25.1].
  • 8. Solution: Basta usar o seguinte parâmetro no comando: " --ignore-platform-reqs " Ficando dessa forma: $ composer require docker-php/docker-php --ignore-platform-reqs Feito, agora é só testar ….
  • 10. <?php require "vendor/autoload.php"; use DockerDocker; $docker = Docker::create(); $containers = $docker->containerList(); foreach ($containers as $container) { var_dump($container->getNames()); } Tentei rodar no terminal: $ php teste.php PHP Parse error: syntax error, unexpected '=' in /home/iago/Desktop/tasks/docker_api_php/docker- php/vendor/jane-php/open-api- runtime/Client/Psr7HttplugClient.php on line 42 Script recomendado pela documentação oficial:
  • 11. Rodando o mesmo script em uma máquina virtual da Digital Ocean foi a solução. root@devprodutos-teste-iago:~/docker-php# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bc123d2212ea 636118772f2e "/bin/bash -e /init/…" 4 minutes ago Up 4 minutes 8080/tcp, 8443/tcp blissful_chebyshev Muito obrigado Jerônimo! root@devprodutos-teste-iago:~/docker-php# php teste.php array(1) { [0]=> string(19) "/blissful_chebyshev" } Documentação Oficial: http://docker- php.readthedocs.io/en/latest/
  • 12. E outras possíveis bibliotecas? - https://packagist.org/packages/stage1/docker-php - Indica a mesma de PHP mencionada anteriormente. - https://www.mundodocker.com.br/docker-api-com-python/ - - http://containertutorials.com/py/docker-py.html - - No python a criação e usabilidade da Docker API sempre segue a mesma lógica.