在 Docker 中,可以使用 GPG(GNU 隱私衛士)來保護鏡像和容器的安全性。GPG 采用公鑰加密方式,可以對鏡像和容器進行簽名和驗證,確保其來源可信。
首先,在 Docker 中啟用 GPG:
vi ~/.docker/config.json
{ "auths": { "xxx": { "auth": "xxx", "email": "xxx" } }, "credStore": "xxx", "gpgVerify": true }
然后,將 GPG 公鑰加入 Docker。
curl https://some_keyserver.com/key |sudo docker key add -
可以通過以下命令列出所有已經添加的 GPG 公鑰:
sudo docker key ls
在 Dockerfile 中使用 GPG 進行鏡像構建:
# Install the public key
COPY --from=builder /tmp/mykey.pub /tmp/
RUN gpg --import /tmp/mykey.pub
# Verify the signature of a downloaded file
COPY --from=builder /tmp/myfile.tar.gz.sig /tmp/
COPY --from=builder /tmp/myfile.tar.gz /tmp/
RUN gpg --verify /tmp/myfile.tar.gz.sig /tmp/myfile.tar.gz
在 Docker 中使用 GPG 進行容器運行:
docker run --interactive --tty --detach --gpg-enabled \
--gpg-keyserver hkp://pool.sks-keyservers.net \
--gpg-key 0x01234567 myimage:latest
以上就是 Docker GPG 的簡單介紹和使用方法。