ϨΠϠΩϟογϡ
# syntax = docker/dockerfile:1
FROM golang:1.18-alpine AS builder
RUN apk --update add make
WORKDIR /services/blog
<͕͜͜มߋ͞Εͨ߹↓ͷ෦Λ࠶࣮ߦ>
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN --mount=type=cache,target=/root/.cache/go-build \
make build
• コンテナイメージのビルド時に
はLower Dirに対する変更を
Upper Dirとして新しいレイヤー
⽤のtarアーカイブを作成する
• ⼀度実⾏した命令はLower Dirと
して残っているので、Upper Dir
による変更だけを⾏えばよく、
レイヤキャッシュが利⽤できる
IBUFOBJOUFSO
!"
Open Container Initiative(OCI)
• コンテナの業界標準を定める団体
• 現在Runtime Spec, Image Spec, Distribution Spec が定義さ
れている
IBUFOBJOUFSO
!"
Slide 38
Slide 38 text
Open Container Initiative(OCI)
Runtime Specification
• コンテナランタイムの実現すべき挙動が主に定義されている
• コンテナの原則(The C principles of Standard Containers)
• コンテナのライフサイクルや、コンテナに対して実⾏可能な操作
• 付与するcapabilityや、namespace, cgroupによるリソースの制
限の指定⽅法など
IBUFOBJOUFSO
!"
Slide 39
Slide 39 text
Open Container Initiative(OCI)
The 5 principles of Standard Containers
!. Standard operations
• 起動‧停⽌‧削除やスナップショットの取得などの基本的な操作が可能
L. Content-agnostic
• コンテナに対する操作はコンテナの内容によらず同じ結果になる
b. Infrastructure-agnostic
• OCIに準拠しているコンテナランタイム上で動くコンテナは、どのような場所やアーキテクチャの上でも同様に動作する
. Designed for automation
Ç. Industrial-grade delivery
IBUFOBJOUFSO
!"
ΠϝʔδͷεΩϟϯ
Trivy
• https://github.com/aquasecurity/trivy
• Dockerイメージ、ファイルシステム、gitリポジトリに対してスキャンができる
• イメージのSBOMからも脆弱性をスキャンできる
$ trivy image --severity HIGH hatena/apply-for-internship-2020:latest
2020-08-05T08:44:37.496+0900 WARN You should avoid using the :latest tag as it is cached. You need to specify '--clear-cache' option when :latest image is changed
2020-08-05T08:44:40.616+0900 INFO Detecting Debian vulnerabilities...
hatena/apply-for-internship-2020:latest (debian 10.4)
=====================================================
Total: 1 (HIGH: 1)
+-----------+------------------+----------+-------------------+------------------+--------------------------------+
| LIBRARY | VULNERABILITY ID | SEVERITY | INSTALLED VERSION | FIXED VERSION | TITLE |
+-----------+------------------+----------+-------------------+------------------+--------------------------------+
| perl-base | CVE-2020-10878 | HIGH | 5.28.1-6 | 5.28.1-6+deb10u1 | perl: corruption of |
| | | | | | intermediate language state |
| | | | | | of compiled regular expression |
| | | | | | due to... |
+-----------+------------------+----------+-------------------+------------------+--------------------------------+
IBUFOBJOUFSO
!"