簡體   English   中英

如何將使用 maria DB 轉儲創建的 docker 映像放入 docker 文件中?

[英]How to put creation of a docker image with maria DB dump into a docker file?

我執行了 docker 命令以創建一個包含 maria DB SQL 轉儲的 docker 鏡像

docker pull mariadb:10.4.26
docker run --name test_smdb -e MYSQL_ROOT_PASSWORD=<some_password> -p 3306:3306 -d mariadb:10.4.26
docker exec -it test_smdb mariadb --user root -p<some_password>
MariaDB [(none)]> CREATE DATABASE smdb_dev;
docker exec -i test_smdb mariadb -uroot -p<some_password> smdb_dev --force < C:\smdb-dev.sql

但由於這必須是 Azure 管道執行的一部分,我被建議將所有這些放在一個 docker 文件中。

如何結合 docker 創建並將其放入 DEV Azure 容器注冊表?

不幸的是,我找不到正確的信息如何將這一切結合起來,尤其是從 docker 文件調用數據庫創建的執行?

您可以嘗試將其用作示例並根據您的需要進行修改:

# Dockerfile

FROM mariadb:10.4.26

ENV MYSQL_ROOT_PASSWORD dummy-password
ENV MARIADB_DATABASE smdb-dev
COPY C:\smdb-dev.sql ./docker-entrypoint-initdb.d/

ENTRYPOINT [ "docker-entrypoint.sh" ]

EXPOSE 3306

CMD [ "mysqld" ]

當你第一次運行一個容器時, docker-entrypoint-initdb.d/文件夾中恢復你的數據庫(它只會在持久卷為空時恢復它,否則它會跳過這一步),以便使此數據持久化,您需要創建一個卷並將其附加到容器上的 mysql 數據文件夾。

docker build *Dockerfile dir path* -t *image-name* 
docker run -dp 3306:3306 *image-name*

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM