我完全不熟悉Docker及其相关的一切。在上学期中,我使用mysql Workbench在本地构建mysql数据库,并将Java项目连接到该数据库。今年,我需要在Docker容器中运行它。我从GitHub提取了Dockerfile,我正在使用Portainer来管理Docker。
我的老师想要以下内容:他想要我将代码放入他为我创建的存储库中,然后他要提取我的项目,该项目应包括Dockerfile,这样他就无需手动重建我的mysql数据库。
那我该怎么办呢?我需要更改mysql Dockerfile吗?还是我应该使用默认值,然后在javacode中初始化我的数据库?
这是我在stackoverflow上的第一篇文章,并且我在编程方面没有那么先进(只有2年Java经验),因此,如果我能给您更多信息,请告诉我。我希望这是在此处发布问题的正确方法。
我感谢所有人帮助我!
问候,卢西奥
您还需要将sql
文件放置在GitHub上,并且可以从docker环境中访问它。
首次启动容器时,将创建一个具有指定名称的新数据库,并使用提供的配置变量对其进行初始化。此外,它将执行扩展名为.sh,.sql和.sql.gz的文件
/docker-entrypoint-initdb.d
。文件将按字母顺序执行。docker-hub-mysql
是的,您还需要修改Dockerfile,这是示例。
这将构建基于mysql8的docker映像,sql
将从GitHub下载文件并启动数据库名称,这classicmodels
意味着在启动时将执行任何有效的SQL文件。
FROM mysql:8
RUN apt update && apt install curl -y
RUN curl -0 https://raw.githubusercontent.com/Adiii717/doctor-demo-app/master/sample_database.sql > /docker-entrypoint-initdb.d/sampledb.sql
构建Docker映像
docker build -t mysql8 .
运行Docker容器
docker run --rm --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -it mysql8
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句