您现在的位置是:热点 >>正文
云计算核心技术Docker教程:为Java镜像创建一个 Dockerfile
热点5678590人已围观
简介...
Dockerfile 是一个文本文档,其中包含组装 Docker 映像的说明。当我们通过执行docker build 命令告诉 Docker 构建我们的镜像时,Docker 会读取这些指令,执行它们,并因此创建一个 Docker 镜像。
让我们云计来看看为我们的应用程序创建 Dockerfile 的过程。在项目的根目录中,创建一个名为的文件Dockerfile并在文本编辑器中打开该文件。
添加到 Dockerfile 的第一行是# syntax解析器指令。虽然是可选的,但该指令指算核示 Docker 构建器在解析 Dockerfile 时使用什么语法,并允许启用 BuildKit 的旧 Docker 版本在开始构建之前升级解析器。解析器指令 必须出现在 Dockerfile 中的任何其他注释、空格或 Dockerfile 指令之心技前,并且应该是 Dockerfiles 的第一行。
# syntax=docker/dockerfile:1
我们建议使用docker/dockerfile:1,它始终指向版本 1 语法的最新版本。BuildKit 在构建之前会自动检查语法的更新术D,确保您使用的是最新版本。
接下来,我们需要在我们的 Dockerfile 中添加一行,告诉 Docker 我们希望为我们的应用程序使用什么基础镜像。
# syntax=docker/dockerfile:1
FROM openjdk:16-alocpine3.13
Docker 镜像可以从其他镜像继承。在本指南中,我们使用openjdk来自 Docker Hub的官方镜像和 Java JDK,它已经拥有运行 Java 应用程序所需的所有工具和包。
为了在运行其余命令时更轻松,让我们设ke置图像的工作目录。这会指示 Docker 使用此路径作为所有后续命令的默认位置。通过这样做,我们不必输入完整的文件路径,而是可以使用基于工作目录的相对路径。
WORKDIR /app
通常,一旦您下载了使用 Maven 进行项目管理的 Jar教va 编写的项目,您要做的第一件事就是安装依赖项。
在我们可以运行之前mvnw dependency,我们需要将 Maven 包装器和我们的 pom.xml文件放入我们的图像中。我们将使用该COPY命令来执行此操作。该 COPY命令有两个参数。第程:一个参数告诉 Docker 您想要复制到镜像中的文件。第二个参数告诉 Docker 您希望将该文件复制到何处。我们将所有这些文件和目录复制到我们的工作目录 - /app.
COPY .mvn/ .mvn
COPY mvnw pom.xml ./
一旦我为J们pom.xml在图像中拥有我们的文件,我们就可以使用RUN命令来执行命令mvnw dependency:go-offline。这与我们在本地机器上运行mvnw(或mvn)依赖项的方式完全相同,但这次依赖项将安装到映像中。
RUavN ./mvnw dependency:go-offline
此时,我们有一个基于 OpenJDK 16 版的 Alpine 3.13 版镜像,并且我们还安装了我们的依赖项。我们需要做的下一件事是将我们的源代码添加到图像中。我们将COPY像使用a镜pom.xml上面的文件一样使用该命令。
COPY src ./src
此COPY命令获取位于当前目录中的所有文件并将它们复制到映像中。现在,我们要做的就是告诉 Docker 当我们的镜像在容器内执行时我们想要运行什么命令。我们使用CMD命令像创来执行此操作。
CMD ["./mvnw", "spring-boot:run"]
这是完整的 Dockerfile。
# syntax=docker/dockerfile:1
FROM openjdk:16-alpine3.13
WORKD建一IR /app
COPY .mvn/ .mvn
COPY mvnw pom.xml ./
RUN ./mvnw dependency:go-offline
COPY src ./src
CMD ["./mvnw", "spring-boot:run"]
Tags:
相关文章
英伟达推出全模态理解模型 OmniVinci,刷新 SOTA 高出19.05分
热点英伟达研究团队今日发布了名为 OmniVinci 的全模态理解模型,该模型在关键的全模态理解基准测试中取得了惊人的成果,相较于现有顶尖模型高出19.05分。更为引人注目的是,OmniVinci 仅使用...
【热点】
阅读更多云安全日报220428:思科Catalyst9000系列交换机发现权限提升漏洞,需要尽快升级
热点Cisco IOS XE是思科(Cisco)公司旗下路由器和交换机等网络设备广泛采用的互联网操作系统。4月27日,思科发布了安全更新,修复了Cisco Catalyst 9000系列交换机IOS XE...
【热点】
阅读更多标签: 珞石
热点近年来,中国制造业正在经历一场深度的智能化转型。人口老龄化与劳动力成本上升,推动了机器人在企业端的加速落地,而在科技盛会和春晚舞台上的频繁曝光,也让大众对机器人的接受度和期待值不断拉高。在这一背景下,...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.duksung.ac.kr/search/front/Search.jsp?qt=谷歌快排操作流程【tg:seogoogle987】6ze
- https://search.danawa.com/dsearch.php?query=谷歌快排操作流程【tg:seogoogle987】oll
- https://www.lauben.com/de/?s=谷歌快排操作流程【tg:seogoogle987】,HR9
- https://www.takachi-enclosure.com/search?eqYB=gnI31Ou&text=谷歌快排操作流程【tg:seogoogle987】,MAR
- https://www.sic-info.org/en/?s=谷歌快排操作流程【tg:seogoogle987】,lI3
- https://www.lyrics.com/lyrics/kkk3谷歌快排操作流程【tg:seogoogle987】,GfV
- https://www.tycoonstory.com/?s=谷歌快排操作流程【tg:seogoogle987】,0la
- https://www.lssystems.co.uk/search?page=0&per_page=24&term=谷歌快排操作流程【tg:seogoogle987】,Vyg
- https://www.shacknews.com/editorial-search?q=谷歌快排操作流程【tg:seogoogle987】,P2o
- https://www.mingwai.edu.hk/?langzh-hant&s=谷歌快排操作流程【tg:seogoogle987】,gci
- https://www.rookwinkel.nl/catalogsearch/result/index/?q=谷歌快排操作流程【tg:seogoogle987】,QJv
- https://www.uckfieldtc.gov.uk/?s=谷歌快排操作流程【tg:seogoogle987】,ZLM
- https://www.olx.ba/pretraga?trazilica=谷歌快排操作流程【tg:seogoogle987】,D8q
- https://www.flickr.com/photos/tags/谷歌快排操作流程【tg:seogoogle987】9yB
- https://www.usslexington.com/?action=QUERY&s=谷歌快排操作流程【tg:seogoogle987】,Bg3
- https://www.resopal.de/catalogsearch/result/?action=SEARCH&q=谷歌快排操作流程【tg:seogoogle987】,toe
- https://www.revere.org/search?action=SEARCH&q=谷歌快排操作流程【tg:seogoogle987】,wY8
- https://www.nyif.com/catalogsearch/result/?q=谷歌快排操作流程【tg:seogoogle987】,vM1
- https://search.danawa.com/dsearch.php?query=谷歌快排操作流程【tg:seogoogle987】dvl
- https://www.kores.com/?s=谷歌快排操作流程【tg:seogoogle987】,8s9
- https://www.spoiledsweetboutique.com/search/谷歌快排操作流程【tg:seogoogle987】,qcg
- https://www.teamlab.art/zh-hans/?submit=谷歌快排操作流程【tg:seogoogle987】,utM
- https://www.whirlpool.com.hk/chinese/catalogsearch/result?cat=30&q=谷歌快排操作流程【tg:seogoogle987】,Tf7
- https://www.realsporting.com/buscador?buscar=谷歌快排操作流程【tg:seogoogle987】,uXI
- https://www.roberthalf.com/us/en/jobs/all/谷歌快排操作流程【tg:seogoogle987】ocG
- https://www.sensorshop24.de/catalogsearch/result/index/?type=132&q=谷歌快排操作流程【tg:seogoogle987】,HLO
- https://www.maine.gov/pfr/professionallicensing/search/node?keys=谷歌快排操作流程【tg:seogoogle987】,xje
- https://www.therapeuticassociates.com/?cat=5&s=谷歌快排操作流程【tg:seogoogle987】,9hj
- https://www.teamlab.art/th/?submit=谷歌快排操作流程【tg:seogoogle987】,Xdm
- https://www.wellbees.com/catalogsearch/result/?action=CHECK&q=谷歌快排操作流程【tg:seogoogle987】,XaJ
- https://www.thedp.com/page/search?q=谷歌快排操作流程【tg:seogoogle987】,2eV
- https://www.reginatangoshoes.com/en/catalogsearch/result/index/?T=1686132113407&q=谷歌快排操作流程【tg:seogoogle987】,Vmf
- https://www.jusoen.com/addreng.asp?p1=谷歌快排操作流程【tg:seogoogle987】nie
- https://www.skicheck.at/en/?action=CHECK&s=谷歌快排操作流程【tg:seogoogle987】,uvy
- https://www.vocabulary.com/dictionary/谷歌快排操作流程【tg:seogoogle987】,Bfw
- https://www.synonyms.com/antonyms/谷歌快排操作流程【tg:seogoogle987】,JAe
- https://www.nextavenue.org/?action=QUERY&s=谷歌快排操作流程【tg:seogoogle987】,9wW
- https://www.ushmm.org/search/results/?ID=8s0587Oi8UTv74zPPM4fuhwjNpe2hsEE&q=谷歌快排操作流程【tg:seogoogle987】,dsF
- https://www.otakuninjahero.com/en/search/谷歌快排操作流程【tg:seogoogle987】,bCT
- https://www.sbaad.no/search/谷歌快排操作流程【tg:seogoogle987】,MXJ
- https://www.ng-slo.si/si/iskanje?cat=114&q=谷歌快排操作流程【tg:seogoogle987】,uq2
- https://www.kaiyueleather.com/search/谷歌快排操作流程【tg:seogoogle987】,sNx
- https://www.lgnewsroom.com/search/谷歌快排操作流程【tg:seogoogle987】,LBJ
- https://www.mesec.cz/vyhledavani/?qs=谷歌快排操作流程【tg:seogoogle987】,yqm
- https://www.sonepar.ch/fr/search?q=谷歌快排操作流程【tg:seogoogle987】,L14
- https://www.remit.co.jp/en/?s=谷歌快排操作流程【tg:seogoogle987】,01s
- https://www.whiterock2008.com.tw/search?q=谷歌快排操作流程【tg:seogoogle987】,YlI
- https://www.zutari.com/?s=谷歌快排操作流程【tg:seogoogle987】,K96
- https://www.remit.co.jp/vi/?s=谷歌快排操作流程【tg:seogoogle987】,aIa
- https://www.zalora.sg/catalog/?cat=112&q=谷歌快排操作流程【tg:seogoogle987】,79G