小编not*_*-jj的帖子

Docker 守护进程停止 - 容器默认超时 10 秒

docker stop标准超时为 10 秒(参考 - Docker Stop)。这个时间窗口可能是关闭 mysql 或 influxdb 以在文件系统上达到一致状态的短时间。如果我手动停止容器,我会用docker stop -t 60 mysql. 但这不是默认情况。容器处于自动重启状态,并通过 docker 守护进程启动和停止。

如果我停止 docker 守护进程(例如在系统重新启动时),守护进程将停止所有正在运行的容器,超时为 10 秒,这会导致 dbs 不一致。

问题:有没有办法设置全局超时docker stop或守护进程停止?

2016年 5 月 3 日更新:在 github 上添加了[功能请求] 添加配置参数以更改容器的停止超时或全局 #22471

mysql docker influxdb

8
推荐指数
2
解决办法
6190
查看次数

Docker IPv6:在桥接docker0和docker网络中禁用IPv4

我想确定我在docker bridge docker0或docker private networks中没有使用专用网络.因此,对于这些接口,我只尝试使用IPv6,但不在主机上禁用IPv4.(哪个不接缝帮忙)

是否存在仅在docker网络中使用IPv6的docker方式?

我正在使用docker 1.11.0

docker

7
推荐指数
0
解决办法
805
查看次数

如何使用PhantomReference作为finalize()替换

适用于PhantomReference的 Javadoc 8 指出:

与Java终结机制相比,虚拟引用最常用于以更灵活的方式调度事前清理操作。

因此,我尝试创建一个线程,该线程正在调用close()符合垃圾回收条件的Test Object方法。在run()试图获得所有测试对象的预验

实际上,检索到的测试对象都是null。预期的行为是检索测试对象并调用该close方法。

无论创建多少个测试对象,都不会在验尸前捕获单个测试对象(您必须增加超时并多次调用GC)。

我究竟做错了什么?这是Java错误吗?

可运行的测试代码:

我试图创建一个最小,完整和可验证的示例,但是它仍然很长。我java version "1.8.0_121"在Windows 7 64位上使用32位。

public class TestPhantomReference {

    public static void main(String[] args) throws InterruptedException {
        // Create AutoClose Thread and start it
        AutoCloseThread thread = new AutoCloseThread();
        thread.start();

        // Add 10 Test Objects to the AutoClose Thread
        // Test Objects are directly eligible for GC
        for (int i …
Run Code Online (Sandbox Code Playgroud)

java garbage-collection phantom-reference finalize finalizer

6
推荐指数
2
解决办法
1157
查看次数

SQLite:自动增量和插入或忽略将产生未使用的自动增量键

我正在使用Mail带有自动递增 ID 和邮件地址的表。该表用于其他4个表,主要用于保存存储(String只保存一次而不是4次)。我INSERT OR IGNORE习惯于盲目地将邮件地址添加到表中,如果存在则忽略更新。这种方法比检查是否存在SELECT ...INSERT在需要时执行要快得多。

对于每个INSERT OR IGNORE自动增量,无论是忽略还是完成,自动增量 Id 都会增加。我一跑我有大约。500k 数据集继续。所以每次运行后,最后一个自增键都会增加 500k。我知道有 2^63-1 个可能的键,所以很长时间用完它们。

我也试过INSERT OR REPLACE,但这会在每次运行命令时增加数据集的 Id,所以这根本不是解决方案。

有没有办法防止这种自动增量键的增加INSERT OR IGNORE

表邮件示例(替换为伪地址)
    mIdMail   mMail
    "1"       ""
    "7"       "mail1@example.com"
    "15"      "mail2@example.com"
    "17"      "mail3@example.com"
    "19"      "mail4@example.com"
    "23"      "mail5@example.com"
    ...
Run Code Online (Sandbox Code Playgroud) 插入查询(使用 Java Lib:org.apache.commons.dbutils)
    INSERT OR IGNORE 
    INTO MAIL 
    ( mMail  ) 
    VALUES ( ? );
Run Code Online (Sandbox Code Playgroud) 表定义
    CREATE TABLE IF NOT EXISTS MAIL (
       mIdMail          INTEGER PRIMARY KEY AUTOINCREMENT, …
Run Code Online (Sandbox Code Playgroud)

sql sqlite

4
推荐指数
1
解决办法
1714
查看次数