JoyLau's Blog

JoyLau 的技术学习与思考

配置

1
2
3
4
5
6
7
{
"log-opts": {
"max-size": "100m"
},
"data-root": "/data/docker-data",
"dns": ["192.168.1.17","223.5.5.5"]
}

配置上面的 dns 配置,对所有的容器生效

我在本地用 docker 部署了一个 webmin 服务,其中 bind 可以用来做DNS 服务
启动docker 容器后发现,不能通过 192.168.1.17 来解析域名
解决办法是 webmin 的服务使用 host 网络即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: "3"
services:
dns-server:
image: sameersbn/bind:9.16.1-20200524
container_name: dns-server
restart: always
volumes:
- ./data:/data
network_mode: "host"
#ports:
# - 53:53/udp
# - 10000:10000
environment:
- ROOT_PASSWORD=xxxx
- WEBMIN_INIT_SSL_ENABLED=false

复现

实体类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Getter
@Setter
@TableName(autoResultMap = true)
public class AdapterManager implements Serializable {
@Serial
private static final long serialVersionUID = 3254095985232547523L;

/**
* id。
*/
@TableId(type = IdType.AUTO)
private Integer id;

/**
* 测试意向申请。
*/
@TableField(typeHandler = JacksonTypeHandler.class)
private List<Attachment> letterIntent;
}

更新代码:

1
2
3
4
adapterManagerMapper.update(null, Wrappers.lambdaUpdate(AdapterManager.class)
.eq(AdapterManager::getId, aid)
.set(AdapterManager::getLetterIntent, list)
);

在使用 lambdaUpdate 无法更新字段, 会报错 Caused by: java.io.NotSerializableException: xxxxxx.Attachment

阅读全文 »
0%