您现在的位置是:热点 >>正文
云计算核心技术Docker教程:为Java镜像创建一个 Dockerfile
热点54739021人已围观
简介...
Dockerfile 是一个文本文档,其中包含组装 Docker 映像的说明。当我们通过执行docker build 命令告诉 Docker 构建我们的镜像时,Docker 会读取这些指令,执行它们,并因此创建一个 Docker 镜像。
让我们云计来看看为我们的应用程序创建 Dockerfile 的过程。在项目的根目录中,创建一个名为的文件Dockerfile并在文本编辑器中打开该文件。
添加到 Dockerfile 的第一行是# syntax解析器指令。虽然是可选的,但该指令指示 D算核ocker 构建器在解析 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 进行项目管理的 Java 编写r教的项目,您要做的第一件事就是安装依赖项。
在我们可以运行之前mvnw dependency,我们需要将 Maven 包装器和我们的 pom.xml文件放入我们的图像中。我们将使用该COPY命令来执行此操作。该 COPY命令有两个参数。第一个程:参数告诉 Docker 您想要复制到镜像中的文件。第二个参数告诉 Docker 您希望将该文件复制到何处。我们将所有这些文件和目录复制到我们的工作目录 - /app.
COPY .mvn/ .mvn
COPY mvnw pom.xml ./
一旦我们pom.为Jxml在图像中拥有我们的文件,我们就可以使用RUN命令来执行命令mvnw dependency:go-offline。这与我们在本地机器上运行mvnw(或mvn)依赖项的方式完全相同,但这次依赖项将安装到映像中。
RUN ./mvnwav dependency:go-offline
此时,我们有一个基于 OpenJDK 16 版的 Alpine 3.13 版镜像,并且我们还安装了我们的依赖项。我们需要做的下一件事是将我们的源代码添加到图像中。我们将COPY像使用pom.xml上面的a镜文件一样使用该命令。
COPY src ./src
此COPY命令获取位于当前目录中的所有文件并将它们复制到映像中。现在,我们要做的就是告诉 Docker 当我们的镜像在容器内执行时我们想要运行什么命令。我们使用CMD命令来执行此操作。
CMD像创 ["./mvnw", "spring-boot:run"]
这是完整的 Dockerfile。
# syntax=docker/dockerfile:1
FROM openjdk:16-alpine3.13
WORKDIR /app
COPY .m建一vn/ .mvn
COPY mvnw pom.xml ./
RUN ./mvnw dependency:go-offline
COPY src ./src
CMD ["./mvnw", "spring-boot:run"]
Tags:
相关文章
中国农大发布神农大模型3.0,AI助力乡村振兴
热点在2025世界农业科技创新大会上,中国农业大学隆重发布了其最新的农业人工智能技术 —— 神农大模型3.0。这款大模型不仅在全国范围内覆盖了农业学科和应用场景,更标志着我国农业 AI 技术迈入了一个崭新...
【热点】
阅读更多游戏开发商Epic扩大与苹果纠纷:在英国起诉苹果垄断
热点新浪科技讯 1月15日上午消息,据报道,游戏开发商Epic向英国反垄断法庭提交了一份申诉,扩大了与苹果公司在其热门游戏《堡垒之夜》(Fortnite)的准入方面的纠纷。 该公司称,苹果从App Sto...
【热点】
阅读更多使用 Postman 的 Newman 扩展在 Docker 中自动化 API 测试和调试
热点超过 2000 万开发人员使用 Postman API 平台,其收藏功能在社区中脱颖而出。集合的核心是一组 API 调用。 虽然并非所有集合都会演变成更复杂的东西,但许多集合都是 Postman 更高...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.lyrics.com/lyrics/kkk3谷歌外推【tg:seogoogle987】,lNe
- https://www.youm7.com/Home/Search?allwords=谷歌外推【tg:seogoogle987】,nXK
- https://www.synonyms.com/antonyms/谷歌外推【tg:seogoogle987】,20i
- https://www.simcoemuskokahealth.org/SearchResults.aspx?SearchQuery=谷歌外推【tg:seogoogle987】,QLf
- https://www.teamlab.art/es/?submit=谷歌外推【tg:seogoogle987】,WXq
- https://www.teacherspayteachers.com/Browse/Price-Range/Free/Search:谷歌外推【tg:seogoogle987】,fly
- https://www.sic-info.org/?s=谷歌外推【tg:seogoogle987】,zOv
- https://www.losgatoschamber.com/list/search?action=SEARCH&q=谷歌外推【tg:seogoogle987】,2xM
- https://www.tumblr.com/tagged/谷歌外推【tg:seogoogle987】,1XT
- https://www.vet-direct.com/search?cat=72&term=谷歌外推【tg:seogoogle987】,rOi
- https://www.whiterock2008.com.tw/search?q=谷歌外推【tg:seogoogle987】,oKf
- https://www.seforall.org/search?keywords=谷歌外推【tg:seogoogle987】,vKV
- https://www.nbm.org/?action=QUERY&s=谷歌外推【tg:seogoogle987】,vns
- https://www.mingwai.edu.hk/?langzh-hant&s=谷歌外推【tg:seogoogle987】,GUi
- https://www.teamlab.art/th/?submit=谷歌外推【tg:seogoogle987】,uIn
- https://www.metalmensales.com/?action=QUERY&s=谷歌外推【tg:seogoogle987】,VSl
- https://www.tcv.org.uk/search/谷歌外推【tg:seogoogle987】,PrY
- https://www.toy-people.com/?s=谷歌外推【tg:seogoogle987】,xqJ
- https://www.mexperience.com/?T=1686132112324&s=谷歌外推【tg:seogoogle987】,EXP
- https://www.kingston.gov.uk/site-search/results/?q=谷歌外推【tg:seogoogle987】,rJd
- https://store.line.me/search/sticker/ja?q=谷歌外推【tg:seogoogle987】QJh
- https://www.randjleather.co.uk/index.php?route=product/search&tag=谷歌外推【tg:seogoogle987】,uB1
- https://www.usslexington.com/?action=QUERY&s=谷歌外推【tg:seogoogle987】,DDr
- https://www.signingsavvy.com/sentence/谷歌外推【tg:seogoogle987】,t2g
- https://www.therapeuticassociates.com/?cat=5&s=谷歌外推【tg:seogoogle987】,so8
- https://www.laoairlines.com/?action=QUERY&s=谷歌外推【tg:seogoogle987】,W9I
- https://www.qwant.com/?q=谷歌外推【tg:seogoogle987】,drI
- https://www.remit.co.jp/vi/?s=谷歌外推【tg:seogoogle987】,0Bd
- https://www.tarleton.edu/?s=谷歌外推【tg:seogoogle987】,E2y
- https://www.goodreads.com/quotes/tag/谷歌外推【tg:seogoogle987】lat
- https://www.metaltix.com/?view=tours&filter=search&q=谷歌外推【tg:seogoogle987】,l74
- https://www.stonerealestate.com.au/?cat=100&s=谷歌外推【tg:seogoogle987】,9MX
- https://www.oprny.com/search.php?search_query=谷歌外推【tg:seogoogle987】,jip
- https://www.flickr.com/photos/tags/谷歌外推【tg:seogoogle987】CGn
- https://www.ucycle.com/search/=谷歌外推【tg:seogoogle987】,G4G
- https://www.remit.co.jp/en/?s=谷歌外推【tg:seogoogle987】,icT
- https://www.spoiledsweetboutique.com/search/谷歌外推【tg:seogoogle987】,chY
- https://www.parriscues.com/catalogsearch/result/?q=谷歌外推【tg:seogoogle987】,5Jj
- https://www.smics.com/tc/site/search?token=谷歌外推【tg:seogoogle987】,5lk
- https://www.umc.edu/search.aspx?ID=I4gnDKRS991MFcIDDzoYze4aWSAszAm7&q=谷歌外推【tg:seogoogle987】,HJR
- https://www.tombow.com/search/谷歌外推【tg:seogoogle987】,ixR
- https://www.ussalabama.com/?action=CHECK&s=谷歌外推【tg:seogoogle987】,Gc8
- https://www.merchbar.com/search?q=谷歌外推【tg:seogoogle987】,qPR
- https://www.sebson.de/en/search?query=谷歌外推【tg:seogoogle987】,Koq
- https://www.hanbat.ac.kr/search/front/Search.jsp?qt=谷歌外推【tg:seogoogle987】Br5
- https://www.urmc.rochester.edu/news/search?q=谷歌外推【tg:seogoogle987】,Z9T
- https://www.solerpalau.com/en-en/catalogsearch/result/?q=谷歌外推【tg:seogoogle987】,EG6
- https://www.seagrant.wisc.edu/?page=63&s=谷歌外推【tg:seogoogle987】,rwG
- https://www.pearlstonecenter.org/search/谷歌外推【tg:seogoogle987】,YEV
- https://www.mynextmove.org/find/search?s=谷歌外推【tg:seogoogle987】,vL6