巴泽尔docker_image复制额外的文件夹

我目前正在为我的GoLang应用程序使用bazel。


container_image(

     name = "my-golang-app",

     base = "@ubuntu_base//image",

     cmd = ["/bin/my-golang-app"],

     directory = "/bin/",

     files = [":my-golang-app"],

     tags = [

         "manual",

         VERSION,

     ],

     visibility = ["//visibility:public"],

 )

除了 my-golang-app 文件夹之外,我需要复制,在构建此映像时,另一个名为 my-new-folder 的文件夹以及其中的所有内容。


如何用bazel做到这一点?我似乎无法在bazel文档中找到解决方案。


dockerfile {

             run 'mkdir -p /usr/local/bin'

             // add the lines below

             add {

                 from 'docker/my-new-folder/'

                 into '/'

             }


慕斯709654
浏览 98回答 1
1回答

撒科打诨

使用container_image文档参考等pkg_tar。像这样:pkg_tar(&nbsp; &nbsp; name = "my-files",&nbsp; &nbsp; srcs = glob(["my-new-folder/**"]),&nbsp; &nbsp; strip_prefix = ".",)container_image(&nbsp; &nbsp; name = "my-golang-app",&nbsp; &nbsp; files = [":my-golang-app"],&nbsp; &nbsp; <everything else you already have>,&nbsp; &nbsp; tars = [":my-files"],)pkg_tar有各种选项来控制文件的最终位置,如果你想要的东西不仅仅是整个目录。对于更复杂的安排,我发现各种目录的多个规则通过一个有用的模式链接在一起。pkg_tardeps
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go