Доступ к данным из внешнего контейнера - PullRequest
0 голосов
/ 02 февраля 2020

У меня есть docker образы, работающие, как показано ниже:

77beec19859a        nginx:latest                "nginx -g 'daemon of…"   9 seconds ago       Up 4 seconds        0.0.0.0:8000->80/tcp                       dockerisedphp_web_1
d48461d800e0        php:fpm                     "docker-php-entrypoi…"   9 seconds ago       Up 4 seconds        9000/tcp                                   dockerisedphp_php_1
a6ed456a4cc2        phpmyadmin/phpmyadmin       "/docker-entrypoint.…"   12 hours ago        Up 12 hours         0.0.0.0:8080->80/tcp                       sc-phpmyadmin
9e0dda76c110        firewatchdocker_webserver   "docker-php-entrypoi…"   12 hours ago        Up 12 hours         0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   7.4.x-webserver
beba7cb1ee14        firewatchdocker_mysql       "docker-entrypoint.s…"   12 hours ago        Up 12 hours         0.0.0.0:3306->3306/tcp, 33060/tcp          mysql
000e0f21d46e        redis:latest                "docker-entrypoint.s…"   12 hours ago        Up 12 hours         0.0.0.0:6379->6379/tcp                     sc-redis

Проблема в том, что моему скрипту PHP необходим доступ к данным на mysql внутри контейнера mysql из контейнер dockerisedphp_web_1.

Возможен ли такой обмен данными между контейнерами?

На самом деле я использую docker -композицию, чтобы поднять все.

1 Ответ

0 голосов
/ 02 февраля 2020

Если вам нужно только что-то сделать с данными, а вам это не нужно на хосте, вы можете использовать docker exec.

Если вы хотите скопировать их к хосту или скопировать данные с хоста в контейнер, вы можете использовать docker cp.

Вы можете использовать docker exec для запуска mysql клиента внутри mysql Контейнер, запишите результаты в файл, а затем используйте docker cp для копирования вывода на хост.

Или вы можете просто сделать что-то вроде docker exec mysql-container-name mysql mysql-args > output на хосте.

...