半年多前放在 github 裡的 build container Dockerfile 突然有同事拿去用,但我很多細節都忘光了XD 記得之前是用 bind mount 的方式將 git repository 掛進 container 裡面,然後再用 git archive HEAD | tar -x -C /tmp 將 git repository export 到 container 的 tmp 目錄再開始 build 不知道為什麼如果在 host 用一行的方式去執行 tar 會說 broken archive... docker run -it -v $(pwd):/mnt/repo -w /mnt/repo mybuild:latest git archive HEAD | tar -x -C /tmp && cd /tmp && make 但是在 container 裡面執行 archive 再 pipe 給 tar 又都沒問題... 最後是在 Dockerfile 裡用 CMD 執行 default command,這樣也沒問題.... docker run -it -v $(pwd):/mnt/repo -w /mnt/repo mybuild:latest