我有一个java应用程序。我知道如何启动Docker容器并从这里和那里检索图像,但是如何将我的java应用程序文件传递给Docker,例如从版本控制或其他目录?
答案 0 :(得分:1)
您可以将文件复制到应用的新泊坞窗图片中。首先,创建您的Dockerfile然后build图片,然后运行它。
另一种方法是运行“准备使用”官方图片并通过volumes安装文件。
一步一步的Dockerfile示例:
a)查看此repo https://github.com/starikovs/stupidbox,这是插件的代码和Dockerfile。
b) Dockerfile具有以下命令:
FROM nginx
COPY . /usr/share/nginx/html
VOLUME /usr/share/nginx/html
这意味着你说停靠者将所有文件从当前目录复制到新的泊坞窗图像。 VOLUME是存储数据/文件的特殊目录,也可以将任何文件夹作为卷安装。
c)要从Dockerfile构建一个新的docker镜像cd
到该目录并运行docker build . -t imagename
,构建后可以检查您的图像是否已构建在docker images
的帮助下。
d)您的图片已准备就绪,现在可以运行了。当然,Dockerfile还有很多其他选项,这个例子是jut来显示流程。
“准备好使用”官方图片示例:
另一方面,您可以使用随时可以使用的官方图像。看看https://hub.docker.com/_/nginx/ NGINX官方图片。借助一个命令docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx
,您可以运行nginx并将文件-v /some/content:/usr/share/nginx/html:ro
装入图像。
答案 1 :(得分:0)
将卷选项与on CloseFieldEditor pFieldEditor
-- declared locals to make it compile in strict mode
local strPathogen,strIncubation,strDurationOfIllness,intID,strSQL
local theColumnBeingEdited,tLineDataArray
local tNewText
put the text of pFieldEditor into tNewText
-- this holds the value the user entered
put the dgColumn of the target into theColumnBeingEdited
-- find the column that has been changed
put the dgDataOfLine[the dgHilitedLine of me] of me into tLineDataArray
-- get the whole line of data and put it into an array
put tNewText into tLinedataArray[theColumnBeingEdited]
-- update the col in the array accordingly
set the dgDataOfLine[the dgHilitedLine of me] of me to tLineDataArray
-- update data in grid
--Connect to database
databaseConnect
--Update Record
put GetDataOfLine( the dgHilitedlines of me,"Pathogen") into strPathogen
put GetDataOfLine( the dgHilitedlines of me,"Offset") into strIncubation
put GetDataOfLine( the dgHilitedlines of me,"Duration") into strDurationofIllness
put GetDataOfLine( the dgHilitedlines of me,"ID") into IntID
put "UPDATE tblPathogen SET fldPathogenName='" & strPathogen & "', fldIncubation='" & strIncubation & "', fldDurationofIllness='" & strDurationofIllness & "'" into strSQL
put " WHERE fldPathogenID=" & IntID after strsql
put strsql into field "test"
--SaveDataToDatabase theTable, theRowID, theColumnBeingEdited, theNewText
end CloseFieldEditor
一起使用,并挂载包含java应用程序的目录(或多个目录)以及将启动它的小型bash脚本。 Dockerfile中的ENTRYPOINT可以按名称指向该bash脚本。