这里有将现有MySQL数据库迁移到azk镜像的说明:http://images.azk.io/#/mysql?_k=yvigvq如何将本地postgresql数据库迁移到azk?
我该如何为postgresql做同样的事情?
谢谢!
这里有将现有MySQL数据库迁移到azk镜像的说明:http://images.azk.io/#/mysql?_k=yvigvq如何将本地postgresql数据库迁移到azk?
我该如何为postgresql做同样的事情?
谢谢!
我只是做一个公关添加在图像库中的指示:
基本上有到转储文件还原到一个数据库运行三种方式里面azk
(他们也可以与其他数据库,如MySQL和MariaDB):
1-使用本地客户端(图形工具或命令行工具):
之前连接到数据库,你需要找出数据库中运行的端口:
$ azk start postgres # Ensures the database is running
$ azk status postgres
┌───┬──────────┬───────────┬──────────────┬─────────────────┬─────────────┐
│ │ System │ Instances │ Hostname/url │ Instances-Ports │ Provisioned │
├───┼──────────┼───────────┼──────────────┼─────────────────┼─────────────┤
│ ↑ │ postgres │ 1 │ dev.azk.io │ 1-data:32831 │ - │
└───┴──────────┴───────────┴──────────────┴─────────────────┴─────────────┘
现在,我们可以使用主机dev.azk.io
并从以前的命令所产生的端口连接到数据库(32381
) 。用户名,密码和数据库名称在Azkfile
中定义。
2 - 使用azk shell
和数据库CLI:
运行上述找出运行端口数据库相同的步骤,你可以运行下面的命令:
$ azk shell postgres
$ psql --host dev.azk.io --port 32831 --username ${POSTGRES_USER} \
--password=${POSTGRES_PASS} --dbname=${POSTGRES_DB} < dbexport.sql
3 - 使用数据库映像中的自动载入脚本:
大多数官方Docker镜像数据库有一个entrypoint
脚本,该脚本查找文件夹/docker-entrypoint-initdb.d/
中的文件,并在数据库初始化时运行它们。鉴于这种情况,你可以简单地在该位置安装转储文件(.sql
),如以下Azkfile
描述:
systems({
postgres: {
image: { docker: "azukiapp/postgres" },
mounts: {
"/docker-entrypoint-initdb.d": sync("./dumps"),
}
}
});
启动postgres
系统命令azk start postgres
,转储文件将被自动运行。
观测数据:正如你可以在Postgres' script,并在Mysql's看到,转储文件可以是纯文本(.sql
),压缩(.sql.gz
)甚至shell脚本(.sh
)。