gpt4 book ai didi

mysql - Docker:如何在目录中使用 SQL 文件

转载 作者:可可西里 更新时间:2023-11-01 07:36:28 25 4
gpt4 key购买 nike

我正在尝试使用 Docker 在本地打开一个 Wordpress 网站。

这是这个容器的 docker-compose.yml 文件:

version: '3'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:

Dockerfile:

FROM orchardup/php5
ADD . /code

在终端中,我输入 docker-compose up -d。然后我可以访问位于 localhost:8080 的站点,但这不是实际的网站 - 它只是一个 Wordpress 模板。我猜我必须以某种方式将 .sql 文件合并到目录中?我该怎么做呢?我需要在 .yml 文件中指定吗?

最佳答案

只需添加卷映射即可将本地文件夹映射到/docker-entrypoint-initdb.d 容器文件夹,例如:./init-db:/docker-entrypoint-initdb.d .此文件将在第一次 容器启动时加载。

考虑下面的 docker-compose.yml :

  1. 将您的 sql 文件放入 /path-to-sql-files-on-your-host 主机文件夹)
  2. 运行 docker-compose down -v 销毁容器和卷
  3. 运行 docker-compose up 重新创建它们。

-

version: '3'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
- /path-to-sql-files-on-your-host:/docker-entrypoint-initdb.d
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:

关于mysql - Docker:如何在目录中使用 SQL 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44533534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com