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!

Docker API Client with PHP and PYTHON

  • 1.
    Bibliotecas da Docker ClientAPI com Python e PHP
  • 2.
    Biblioteca da DockerAPI Client com
  • 3.
    Biblioteca encontrada nolink: 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 coma 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 DockerAPI Client com
  • 7.
    Biblioteca encontrada nolink: 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 oseguinte parâmetro no comando: " --ignore-platform-reqs " Ficando dessa forma: $ composer require docker-php/docker-php --ignore-platform-reqs Feito, agora é só testar ….
  • 9.
  • 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 mesmoscript 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íveisbibliotecas? - 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.
  • 13.