Un contenedor docker puede haber sido arrancado sin mapeo de puertos y sin sesión interactiva. En esos casos podemos albergar dudas sobre qué está ocurriendo en él. Otras veces queremos descubrir qué directorio interno debemos mapear con un volumen para conservar los cambios. Todo eso es posible de averiguar abriendo una sesión interactiva de shell con nuestro contenedor sin alterar su estado.
Cogemos de nuevo el post anterior y los contenedores que se crearon:
$ sudo docker ps -a CONTAINER ID IMAGE [...] NAMES 87a11363c32f wordpress:latest [...] WPwordpress 1eda9845dc71 mysql:latest [...] WPmysql
Vamos a hacer una incursión con sesión interactiva para administrar algo de ambos.
Acceder por shell a un contenedor en ejecución
"docker attach" solo permite una conexión simultánea. Es incómodo y además attach detiene la ejecución del contenedor cuando salimos de la sesión interactiva. Usaremos la fórmula siguiente para abrir tantos shell como deseemos y no afectar al estado del contenedor.
$ sudo docker exec -i -t 87a11363c32f bash
Para salir simplemente "exit"
root@87a11363c32f:/var/www/html# exit
Gestionamos algo del contenedor Wordpress
Al entrar vemos donde están los contenidos estáticos y los PHP de Wordpress. Deberíamos hacer un mapeo a un volumen externo.
root@87a11363c32f:/var/www/html# ls index.php readme.html wp-admin wp-comments-post.php wp-config.php wp-cron.php wp-links-opml.php wp-login.php wp-settings.php wp-trackback.php license.txt wp-activate.php wp-blog-header.php wp-config-sample.php wp-content wp-includes wp-load.php wp-mail.php wp-signup.php xmlrpc.php
Conexión a una base de datos dentro del contenedor
Vamos a conectarnos a la base de datos con el cliente propio del contenedor:
root@goku:~# sudo docker exec -i -t 1eda9845dc71 bash root@1eda9845dc71:/# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) root@1eda9845dc71:/# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 29 Server version: 5.7.11 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show schemas; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | wordpress | +--------------------+ 5 rows in set (0.00 sec)Hemos podido acceder al contenido, previa entrada a la consola del contenedor.
No hay comentarios:
Publicar un comentario