ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql – Docker:如何在Directory中使用SQL文件

2019-07-01 19:02:02  阅读:245  来源: 互联网

标签:docker mysql sql docker-compose dockerfile


我正在尝试使用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:/ drager-entrypoint-initdb.d.此文件将在第一个容器启动时加载.

考虑到docker-compose.yml:

>将sql文件放入/ path-to-sql-files-on-your-host主机文件夹中)
>运行docker-compose down -v来销毁容器和卷
>运行docker-compose以重新创建它们.

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:

标签:docker,mysql,sql,docker-compose,dockerfile
来源: https://codeday.me/bug/20190701/1349890.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有