Docker守护进程安全配置项目详解

2020-06-17 07:23:10易采站长站整理

[root@localhost docker]# cat /etc/subuid
dockremap:100000:65536

2.3 设置 docker 的分区

为容器创建单独的分区,默认分区在

varlibdocker
,包含本地镜像、容器、网络等相关的东西。

[root@localhost docker]# ls /var/lib/docker

100000.100000  builder  buildkit  containers  image  network  overlay2  plugins  runtimes  swarm  tmp  trust  volumes
可以使用 “data-root”: “” 配置默认的分区位置。

2.4 限制默认网桥容器之间的流量

当启动 Docker 服务时候,默认会添加一条转发策略到 iptables 的 FORWARD 链上。策略为通过( ACCEPT )还是禁止( DROP ),取决于配置 –icc=true (缺省值)还是  –icc=false 。如果手动指定  –iptables=false 则不会添加 iptables 规则。

默认情况下,默认网桥上同一主机上的容器之间允许所有网络通信,如果不需要,限制所有容器间的通信。 将需要通信的特定容器链接在一起,或者创建自定义网络,并且仅加入需要与该自定义网络进行通信的容器。

配置限制默认网桥上容器之间的流量 “icc”:false

2.5 配置日志

配置集中的远程日志,设置日志进程 –log-level 级别为 info ,日志记录格式 json,本地日志记录


"log-level": "info",
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file":"5",
"labels": "somelabel",
"env": "os,customer"
},

配置远程日志

 

Docker 日志记录驱动程序接收容器日志并将其转发到远程目标或文件。 默认的日志记录驱动程序是

json-file
。 它将容器日志以JSON格式存储在本地磁盘上。 Docker具有用于记录日志的插件体系结构,因此有用于开源工具和商业工具的插件:

Journald–将容器日志存储在系统日志中.
Syslog Driver–支持UDP,TCP,TLS
Fluentd –支持将TCP或Unix套接字连接到fluentd
Splunk – HTTP / HTTPS转发到Splunk服务器
Gelf – UDP日志转发到Graylog2

示例 fluent


{
"log-driver": "fluentd",
"log-opts": {
"fluentd-address": "fluentdhost:24224"
}
}

使用 syslog


{
"log-driver": "syslog",
"log-opts": {
"syslog-address": "udp://1.2.3.4:1111"
}
}

2.6 设置 ulimit


{
"default-ulimits": {