Skip to content

Philip's blog #37

@p208p2002

Description

@p208p2002

https://blog.philip-huang.tech/?page=blog_docker_ssh_docker-multi-stage-build

最近剛好有一個專案在建構的時候需要存取多個私有庫,然而直接把 ssh key 帶入映像檔中會有安全性疑慮,同時也要避免 ssh key 出現在 image layer 中,這時候可以借助 multi-stage build 來達到要求。

Dockerfile撰寫

用語法From foo as bar來幫映像檔取小名

FROM python:3.8 as build-system

並且可以在一同個 Dockerfile 內建置暫存映像檔,我們可以在這個階段進行ssh操作,最終這個image會被銷毀

FROM build-system as intermediate

最後回到一開始的image,並且把暫存映像檔中的檔案複製回主要的image

FROM build-system as runtime
COPY --from=intermediate /server /server

完整的範例如下:

FROM python:3.8 as build-system
COPY . /server
WORKDIR

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions