有没有办法在 mysql docker 中创建模式和表而不为 mysql 构建新映像?
Posted
技术标签:
【中文标题】有没有办法在 mysql docker 中创建模式和表而不为 mysql 构建新映像?【英文标题】:Is there any way to create schema and tables in mysql docker without build a new image for mysql? 【发布时间】:2018-12-17 08:52:52 【问题描述】:我有 2 张图片。其中一个是自定义的,另一个是mysql
。我正在使用docker-compose
。它的数据库部分如下所示。
db:
image: mysql
container_name: mysql-docker-test
volumes:
- test-sql:/var/lib/mysql
restart: always
networks:
test-net:
ipv4_address: 172.17.0.5
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: my_secret_pw
通讯没有问题但是我运行docker-compose up
的时候需要运行sql脚本。
有没有办法在docker-compose.yml
运行sql脚本?
【问题讨论】:
How can I create a mysql db with Docker compose?的可能重复 【参考方案1】:您可以像这样覆盖docker-compose.yml
中的entrypoint
或command
:
db:
image: mysql
entrypoint: ./path_to_your_script.sh
在您的脚本中,您必须启动 mysql 服务器,然后运行您的 sql 脚本。当然,您必须将 shell 脚本放在一个卷中。
【讨论】:
以上是关于有没有办法在 mysql docker 中创建模式和表而不为 mysql 构建新映像?的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在 MySQL 工作台模式部分查看在 phpmyadmin 中创建的数据库/表?