草庐IT

Dockerignore : Ignore everything except a file and the Dockerfile

coder 2023-05-05 原文

所以主要目的是将胖 jar 应用程序 docker 化并放入 Elasticbeanstalk。问题在于上下文。如果我实际上只需要一个 jar 文件,那么在 docker 中添加这么多上下文有点愚蠢。

我一直在玩弄 .dockerignore 文件,但我迷路了。我尝试使用 gitignore 否定,但它不起作用。

*
!Dockerfile
*/
!target/
target/*
!target/*.jar

正则表达式也有这种情况,但似乎不支持复杂的正则表达式。

^((?!Dockerfile).)*$

我也试过在stackoverflow中搜索,找到的都是这两个:

这个问题可能与第二个问题类似,但我认为它略有不同,因为在这里,我只想在上下文中包含一个文件。

任何帮助将不胜感激。

最佳答案

如果您需要忽略除某些目录或文件之外的所有内容,并且还需要忽略那些允许的目录中的一些不必要的文件,您可以使用以下 .dockerignore 文件:

# Ignore everything
*

# Allow files and directories
!/file.txt
!/src

# Ignore unnecessary files inside allowed directories
# This should go after the allowed directories
**/*~
**/*.log
**/.DS_Store
**/Thumbs.db

关于Dockerignore : Ignore everything except a file and the Dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28097064/

有关Dockerignore : Ignore everything except a file and the Dockerfile的更多相关文章

  1. dockerfile - 2

    文章目录一、概念1.1什么是dockerfile?1.2为什么要使用dockerfile1.3dockerbuild工作原理1.4dockerfile常用指令二、docker镜像制作2.1基于现有镜像创建2.2基于本地模板创建2.3基于dockerfile创建2.3.1CMD与entrypoint2.3.2使用exec模式是无法输出环境变量2.4shell模式需要加解释器2.5dockerfile构建tomcat镜像总结引言:docker创建镜像一、概念1.1什么是dockerfile?dockerfile是一个文本文件,其中包含了一条条指令(instruction),用于构建镜像。每一条指令

  2. Docker部署java项目(Dockerfile方式) - 2

    Java项目如何部署到Docker中?如何将java项目部署到Docker中呢,这里以一个springboot为例以下命令全部都是以linux为基础的1.首先找一个你熟悉的目录下创建一个目录upload(这个目录可以随便),并把java的linux和jar包上传进去我这里用的是jdk-8u321-linux-x64.tar.gz你可以从官网上进行下载#创建一个目录,然后所有的操作都是在这个目录中进行的。#这里目录的名字可以随便起mkdirupload#这里上传jdk,你可以使用xftp上传文件,我这里就不做演示了[root@zhupload]#ll总用量160408-rw-r--r--.1ro

  3. linux - Dockerfile 在构建时找不到 shell 脚本 - 2

    这个问题在这里已经有了答案:Areshellscriptssensitivetoencodingandlineendings?(14个答案)关闭3年前。我正在尝试通过docker构建一个使用go的应用程序。要安装go,dockerfile具有以下命令(顺便说一下,这执行得很好):RUNwgethttps://dl.google.com/go/go1.11.linux-amd64.tar.gz\&&tar-xfgo1.11.linux-amd64.tar.gz\&&mvgo/usr/local当脚本运行“install”子目录中的shell文件时会出现问题。注意,以下两步的输出:Step

  4. docker - 在Dockerfile和docker-compose.yml中编写什么以在docker环境中传递本地包 - 2

    我为服务器端api引入了localpackage和gomodules。通过命令gorunmain.go,它在本地环境中运行良好,没有错误。但是在命令docker-composeup时不起作用。我想知道编写Dockerfile和docker-compose.yml来修复什么。我在article目录下命令gomodinit。因此,它在go.mod中设置了modulegithub.com/jpskgc/article。article├db├client├api│├main.go│├controller││└controller.go│└Dockerfile├nginx├docker-comp

  5. 带有Go的Dockerfile找不到路径 - 2

    我在运行本地构建以及配置Dockerfile时遇到了问题。我的项目结构如下:project-cmdmain.go-internal-appapp.goDockerfile所以,在main.go中,我说import("project/internal/app")然后,当我说gobuild时,我可以在本地完美运行。但是,在我的Dockerfile中我说FROMgolangENVGOPATH/go/src/github.com/projectCOPY./go/src/github.com/projectWORKDIR/go/src/github.com/projectRUNmakelinux

  6. ubuntu - Dockerfile 连接到 ODBC(例如 HPE Vertica)设置 - 2

    我有一个简单的GO程序可以成功连接到我的ubuntu服务器中的Vertica。我已经在这个ubuntu中设置了.dobc.ini和odbcdrvier。db,err:=sql.Open("odbc","DSN=HPVerticaDSN")iferr!=nil{log.Fatal(err)}log.Println("DBpingstarted...")iferr=db.Ping();err!=nil{log.Fatalf("DBpingfailedwitherror...%v",err)}log.Println("DBconnected.")deferdb.Close()现在,我如何设置

  7. docker - 为 golang 的 dockerfile 查找路径时出错 - 2

    我正在尝试用我的golang项目构建docker镜像我使用以下内容#buildstageFROMgolang:alpineasbuilderWORKDIR/go/src/appCOPY..RUNCGO_ENABLED=0GOOS=linuxgobuild-a-installsuffixcgo-ldflags'-extldflags"-static"'-omain.RUNapkadd--no-cachegit#finalstageFROMalpine:latestRUNapk--no-cacheaddca-certificatesCOPY--from=builder/go/bin/app

  8. mongodb - go get mongo-go-driver 在 Dockerfile 中崩溃 - 2

    我的Go服务有点问题。我是Go的新手,我只想对一个连接到mongodb实例的小服务进行docker化。我的代码在本地运行良好。所以这是我的Dockerfile:#buildstageFROMgolang:alpineASbuild-envRUNapkadd--no-cachegitADD..RUNgoget-v-ugo.mongodb.org/mongo-driverRUNgobuild-omongotest#finalstageFROMalpineWORKDIR/appCOPY--from=build-env./go/mongotest.RUNapkupdate&&apkaddca-

  9. docker - 在 Dockerfile 和 docker-compose 中编写什么来传递本地包 - 2

    我为服务器端api引入了带有gomodules的本地包。通过命令gorunmain.go,它在本地环境中运行良好,没有错误。但是在命令docker-composeup时不起作用。我想知道如何修复Dockerfile和docker-compose.yml。我在article目录下命令gomodinit。因此,它在go.mod中设置modulegithub.com/jpskgc/article。article├db├client├api│├main.go│├controller││└controller.go│└Dockerfile├nginx├docker-compose.yml├go.

  10. dockerfile install go local packages 可以吗? - 2

    我正在尝试使用我的golang项目创建一个docker镜像。该项目有一些本地包,例如math:/myproject/src/main.goutils/math.go在main.go中,我包含了很多包,还有来自math.go的math。我的docker文件看起来像这样:FROMgolang:latestENVGOPATH=/golib/RUN/usr/local/go/bin/gogetgithub.com/julienschmidt/httprouterCMD/usr/local/go/bin/gorunmain.goEXPOSE10004因为它是一个本地包,所以我如何包含math包,

随机推荐