我可以使用 mysql Dockerfile 构建一个已经在本地构建的 mysql 数据库吗?
Can i build a already local build mysql Database with the mysql Dockerfile?
我完全不了解 Docker 以及与之相关的一切。在我的最后一个学期,我使用 mysql Workbench 在本地构建了一个 mysql 数据库,并将一个 java 项目连接到它。今年我需要在 Docker 容器中制作这个 运行。我已经从 GitHub 中提取了 Docker 文件,我正在使用 Portainer 来管理 Docker。
我的老师想要以下内容:
他要我将我的代码放在他为我创建的存储库中
然后他想拉我的项目,其中应该包含一个 Docker 文件,这样他就不需要手动重建我的 mysql 数据库。
那我该怎么做呢?我需要更改 mysql Docker 文件吗?或者我应该使用默认值,然后在我的 java 代码中初始化我的数据库?
这是我第一次 post 在 Whosebug 上,我在编程方面不是那么先进(只有 2 年的 java 经验),所以如果我能为您提供更多信息,请告诉我知道。我希望这是 post 问题的正确方法。
感谢大家帮助我!
你好,卢西奥
您需要将您的 sql
文件也放在 GitHub 上,并且应该可以从您的 docker 环境中访问它。
When a container is started for the first time, a new database with
the specified name will be created and initialized with the provided
configuration variables. Furthermore, it will execute files with
extensions .sh, .sql and .sql.gz that are found in
/docker-entrypoint-initdb.d
. Files will be executed in alphabetical
order.
docker-hub-mysql
是的,您还需要修改 Dockerfile,这是示例。
这将构建基于 mysql8 的 docker 图像,将从 GitHub 下载 sql
文件并启动数据库名称 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
我完全不了解 Docker 以及与之相关的一切。在我的最后一个学期,我使用 mysql Workbench 在本地构建了一个 mysql 数据库,并将一个 java 项目连接到它。今年我需要在 Docker 容器中制作这个 运行。我已经从 GitHub 中提取了 Docker 文件,我正在使用 Portainer 来管理 Docker。
我的老师想要以下内容: 他要我将我的代码放在他为我创建的存储库中 然后他想拉我的项目,其中应该包含一个 Docker 文件,这样他就不需要手动重建我的 mysql 数据库。
那我该怎么做呢?我需要更改 mysql Docker 文件吗?或者我应该使用默认值,然后在我的 java 代码中初始化我的数据库?
这是我第一次 post 在 Whosebug 上,我在编程方面不是那么先进(只有 2 年的 java 经验),所以如果我能为您提供更多信息,请告诉我知道。我希望这是 post 问题的正确方法。
感谢大家帮助我!
你好,卢西奥
您需要将您的 sql
文件也放在 GitHub 上,并且应该可以从您的 docker 环境中访问它。
When a container is started for the first time, a new database with the specified name will be created and initialized with the provided configuration variables. Furthermore, it will execute files with extensions .sh, .sql and .sql.gz that are found in
/docker-entrypoint-initdb.d
. Files will be executed in alphabetical order. docker-hub-mysql
是的,您还需要修改 Dockerfile,这是示例。
这将构建基于 mysql8 的 docker 图像,将从 GitHub 下载 sql
文件并启动数据库名称 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