我正在设置一个服务器来托管一个 wordpress 网站,并且 wordpress + mariadb + nginx 都在 Docker 中运行良好。我可以在 Wordpress 中创建和配置一个新网站,并且一切都成功了。
我想将一些预先存在的站点数据导入 Mariadb 实例,并且由于它位于 Docker 容器中,因此它实际上与任何数据操作实用程序隔离。显然,这对于安全性来说非常好,但是使 docker 中的某些内容对本地主机(甚至外部)“可见”以便我可以连接 mysql 客户端的最佳方法是什么?
答案1
您可以通过运行以下命令发布您的 MariaDB 端口:
docker run -p3306:3306 mariadb
这样,您可以通过连接到来访问 mariadb 实例dockerhost:3306
。
无论如何,如果您只需要导入 SQL 数据文件,我建议您使用 dockerexec
实用程序并使用容器mysql
客户端来导入该数据。例如:
docker exec -i mariadb_container mysql -uroot -pmypassword mydb < /path/inside/host/data.sql