Docker使用Linux命名空间提供基本隔离:
# 查看当前容器的命名空间
ls -l /proc/$$/ns
限制容器资源使用:
docker run -it --cpus="1.5" --memory="512m" ubuntu
docker run -u 1001:1001 -it ubuntu
在/etc/docker/daemon.json
中添加:
{
"userns-remap": "default"
}
docker run --read-only -it alpine
docker run --security-opt=no-new-privileges -it ubuntu
docker run --cap-drop=ALL --cap-add=NET_BIND_SERVICE -it ubuntu
docker run --security-opt apparmor=docker-default -it ubuntu
docker run --security-opt label=type:container_t -it centos
docker network create --driver=bridge --subnet=192.168.100.0/24 isolated_net
docker run --network=isolated_net -it ubuntu
docker run --network=none -it ubuntu
docker scan ubuntu
docker stats
docker events
通过以上措施,您可以显著提高Docker容器的安全性和隔离性,降低潜在的安全风险。