创建安全的 Docker 镜像

Docker 入门

Tim Sangster

Software Engineer @ DataCamp

内在安全性

若越过虚拟化层,受入侵的容器可访问宿主机。

Docker 入门

构建安全镜像

$$

攻击者在极端情况下可逃逸容器。

$$

额外的安全措施可降低此风险

$$

当容器对外网暴露时尤为重要。

Docker 入门

来自可信来源的镜像

创建安全镜像 -> 从可信来源的镜像开始

Docker Hub 筛选:

Docker Hub 有三类可信内容筛选:Docker Official Images、Verified Publisher、Sponsored OSS

Docker 入门

保持软件最新

即使非常流行的 Ubuntu 镜像,也仅在 14 天前更新。 同样流行的 mariaDB 镜像,上次更新在一个多月前。

Docker 入门

保持镜像最小化

添加不必要的软件包会降低安全性

基于 Ubuntu,包含:

  • Python2.7
  • Python3.11
  • Java default-jre
  • Java openjdk-11
  • Java openjdk-8
  • Airflow
  • 我们的管道应用

仅安装必需的软件包可提升安全性

基于 Ubuntu,包含:

  • Python3.11
  • 我们的管道应用
Docker 入门

不要以 root 运行应用

允许镜像以 root 运行,会破坏镜像的可更新性与最小化。

相反,应让容器以权限更低的用户启动:

FROM ubuntu # 默认用户为 root。
RUN apt-get update
RUN apt-get install python3
USER repl # 安装完所需后再切换用户。
CMD python3 pipeline.py
Docker 入门

Passons à la pratique !

Docker 入门

Preparing Video For Download...