我正在尝试备份/恢复PostgreSQL数据库,如Docker网站上所述,但数据未恢复.
数据库映像使用的卷是:
VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"]
Run Code Online (Sandbox Code Playgroud)
而且CMD是:
CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"]
Run Code Online (Sandbox Code Playgroud)
我用这个命令创建数据库容器:
docker run -it --name "$DB_CONTAINER_NAME" -d "$DB_IMAGE_NAME"
Run Code Online (Sandbox Code Playgroud)
然后我连接另一个容器来手动插入一些数据:
docker run -it --rm --link "$DB_CONTAINER_NAME":db "$DB_IMAGE_NAME" sh -c 'exec bash'
psql -d test -h $DB_PORT_5432_TCP_ADDR
# insert some data in the db
<CTRL-D>
<CTRL-D>
Run Code Online (Sandbox Code Playgroud)
然后创建tar存档:
$ sudo docker run --volumes-from "$DB_CONTAINER_NAME" --rm -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /etc/postgresql /var/log/postgresql /var/lib/postgresql
Run Code Online (Sandbox Code Playgroud)
现在我删除用于db的容器并创建另一个具有相同名称的容器,并尝试恢复之前插入的数据:
$ sudo docker run --volumes-from "$DB_CONTAINER_NAME" --rm -v $(pwd):/backup ubuntu tar xvf /backup/backup.tar
Run Code Online (Sandbox Code Playgroud)
但表是空的,为什么数据没有正确恢复?
我正在尝试使用Docker克隆来自github的私人仓库.问题是我需要使用ssh来访问该repo.我在我的github项目设置中添加了一个密钥,我想,它用于识别docker的服务器.
我的问题是我无法弄清楚我应该在Dockerfile中写什么,以便服务器在尝试访问我的github仓库时使用该密钥.我看到了将id_rsa添加到容器中的示例,但我不知道id_rsa存储在其服务器上的位置(如果存在)
RUN mkdir /root/.ssh/
# can't find the file id_rsa
ADD id_rsa /root/.ssh/id_rsa
RUN touch /root/.ssh/known_hosts
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
run git clone git@github.com:user/repo.git
Run Code Online (Sandbox Code Playgroud)
如何从docker的服务器访问我的私人仓库?
我想让用户用markdown编辑文章,然后将其转换为HTML进行显示。我使用 pagedown 来做到这一点。但我希望用户能够稍后编辑他们的文章,这意味着在将 Markdown 代码转换为 HTML 后向他们发送,我不知道最好的方法是什么。我心里有这些想法:
stackoverflow 就是一个很好的例子,但我不知道他们使用的方法。
我正在尝试使用 Postgresql 11 选择包含约 5 亿行的表的所有行。
这在具有 32 个 CPU 内核和 256GB RAM 和一个 SSD 上花费了大约 15 分钟,读/写速度高达大约 200MB/s,这比我看到人们在其中选择一百万行时的预期要高得多~1s ( https://dba.stackexchange.com/questions/188407/effectively-handle-10-100-millions-row-table-of-unrelated-data ),尽管它们不对行进行排序。
此表上的查询主要包括对表的SELECT80% 到 100%的操作,以及对日期时间的过滤器,其中行按日期时间排序。
以下是该表的说明:
postgres=# \d+ ohlcv;
Table "public.ohlcv"
Column | Type | Collation | Nullable | Default | Storage | Stats target | Description
----------+-----------------------------+-----------+----------+---------+---------+--------------+-------------
datetime | timestamp without time zone | | not null | | plain | |
open | real | | not null | | plain | |
high | real …Run Code Online (Sandbox Code Playgroud) 我有一个使用快捷方式的 angular.js web 应用程序。当我按下任意键时,我会收到 N 个 keydown 事件,然后是 N 个 keyup 事件,其中 N 介于 2 和 5 之间,而我希望它只触发一次。这是我用来捕获键盘事件的代码:
// Controller.js
var allowed = true;
$document.bind('keyup', function (event) {
console.log('keyup');
allowed = true;
});
$document.bind('keydown', function (event) {
if (allowed) {
allowed = false;
var key = event.which || event.keyCode || event.charCode;
console.log('key down: ' + key);
if (key === 32) { // Space bar
$scope.showAll();
event.stopPropagation();
}
else if ($scope.visible.answerButtons === true) {
if (key === 37) { // Left …Run Code Online (Sandbox Code Playgroud)