現在我有一個用 golang 編寫的程序,我試圖在一個最小的容器中運行。這個go程序啟動的時候正好啟動了另外一個java寫的子程序,這個子程序也需要運行在容器中。我想知道如何構建我的 Dockerfile 以將其作為“distroless”圖像來實現?,F在我正在探索這樣的解決方案:FROM <golang-distro> as go-builderFROM <java-distro> as java-builderFROM <minimal-base-image># copy over all files needed to set up golang runtime to run go-parent-serviceCOPY --from=go-builder /<golang-binaries> /# copy over all files needed to set up java runtime so go-parent-service can run its java sub processCOPY --from-java-builder /<jvm-binaries> /# executable for the golang serviceCOPY /go-parent-service /# run the golang service, which will also start up the java service as sub processCMD ["/go-parent-service"]這種方法是否有意義,或者是否有更好的方法來構建此圖像?我知道啟動 java 服務的 go 服務使事情變得有點棘手,并且可能不是最佳實踐。然而,由于我不擁有這個可執行文件,我無法分離出這些服務并在不同的容器中運行它們。
- 1 回答
- 0 關注
- 126 瀏覽
添加回答
舉報
0/150
提交
取消
