所以主要目的是将胖 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/
文章目录一、概念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),用于构建镜像。每一条指令
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
这个问题在这里已经有了答案: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
我为服务器端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
我在运行本地构建以及配置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
我有一个简单的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()现在,我如何设置
我正在尝试用我的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
我的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-
我为服务器端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.
我正在尝试使用我的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包,