我有一些运行如下的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
访问dockerisedphp_web_1
容器内mysql上的数据。
容器之间可以进行这种数据交换吗?
实际上,我是在使用docker-compose来显示所有内容。
答案 0 :(得分:0)
如果您只需要对数据做一些事情,而又不需要主机上的数据,则可以使用docker exec
。
如果要将其复制到主机,或将数据从主机复制到容器,则可以使用docker cp
。
您可以使用docker exec
在mysql容器中运行mysql客户端,将结果写入文件,然后使用docker cp
将输出复制到主机。
或者您也可以在主机上执行类似docker exec mysql-container-name mysql mysql-args > output
的操作。