搜索
首页运维Dockerdocker如何实现打包

docker如何实现打包

Jun 09, 2020 pm 04:33 PM
docker

 docker如何实现打包

docker如何实现打包?

Docker相关术语:

  (1).镜像、容器、仓库

  Docker的特点:

  (1).关键字:集装箱、标准、隔离。

  Docker的部署实践:

  1.创建dockerfile

  注意我提到的假设:你的jar包或者war包都已经打包成功,并且docker安装成功。

  dockerfile 的内容如下:

FROM azul/zulu-openjdk:8
VOLUME /home/work/springDemo
ADD springDemo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

   FROM:基于哪个镜像

   VOLUME:可以将本地文件夹或者其他container的文件夹挂载到container中

      ADD:将文件cbce1a3cf2f839037583dce8e845670b拷贝到container的文件系统对应的路径6be58d1426a577c69ada50a4bc87dd69

   RUN:RUN命令将在当前image中执行任意合法命令并提交执行结果。命令执行提交后,就会自动执行Dockerfile中的下一个指令

   ENTRYPOINT:container启动时执行的命令,但是一个Dockerfile中只能有一条ENTRYPOINT命令,如果多条,则只执行最后一条

   重点:dockerfile 和 jar包或者war包的位置

   注意:新创建的  Dockerfile 文件需要和  jar 的在一个文件夹下。

    2.Jar包的生成

    大家看到上图中的.jar 的包可能会有困惑,这个包是怎么生成的呢?下面我们来看看这个包是如何生成的。

    由于我是通过maven的方式来构建项目的,所以也是通过maven的方式来的build的,当然前提依然是你的环境中安装了 maven,具体操作我们来看看截图。

    经过上面的操作后,就build 好了 jar包。

    3.生成镜像

     shell 命令说明:重点是你要 cd 到存放Dockerfile 和 jar包或者war包所在的文件夹下面。

     命令:sudo docker build -t springbootdemo .

   注意:命令后面的  .    要带上 。

   -t参数的含义我记不清了,你可以通过 sudo docker build --help 来查看相关函数的解释。  springbootdemo是build的镜像名称。

   以上操作完成了Docker 镜像的创建。检验镜像是否创建成功,命令: sudo docker images   ,可以看到springbootdemo就是刚才创建的镜像。

    4.启动容器

    容器其实也相当与镜像的载体。

    容器的启动命令截图:

    启动命令:sudo docker run -d -p 8080:8080 springbootdemo

    -d -p 的参数含义我也忘却了,大家可以查查。   8080:8080是一个端口的映射,它的具体逻辑和原理,我建议大家学习Docker中仔细看看,springbootdemo 就是我上面提到的镜像文件。

    查看当前运行中的容器:sudo docker ps

    5.验证

    验证环节就可看看我们的  Demo是否部署成功了,如果你的jar包或者war包跟我以一样,是web程序的话,就可以通过浏览器来测试。

      相关推荐:docker教程  

以上是docker如何实现打包的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Kubernetes vs. Docker:了解关系Kubernetes vs. Docker:了解关系May 12, 2025 am 12:16 AM

Docker和Kubernetes的关系是:Docker用于打包应用,Kubernetes用于编排和管理容器。1.Docker通过容器技术简化应用打包和分发。2.Kubernetes管理容器,确保高可用性和可扩展性。它们结合使用可提升应用部署和管理效率。

Docker:集装箱革命及其影响Docker:集装箱革命及其影响May 10, 2025 am 12:17 AM

Docker通过容器技术解决了软件在不同环境中运行一致性的问题。其发展历程从2013年至今,推动了云计算生态系统的演进。Docker利用Linux内核技术实现进程隔离和资源限制,提高了应用的可移植性。在开发和部署中,Docker提升了资源利用率和部署速度,支持DevOps和微服务架构,但也面临镜像管理、安全性和容器编排的挑战。

Docker vs.虚拟机:比较Docker vs.虚拟机:比较May 09, 2025 am 12:19 AM

Docker和虚拟机各有优缺点,选择应根据具体需求。1.Docker轻量、快速,适合微服务和CI/CD,启动快,资源占用少。2.虚拟机提供高隔离性和多操作系统支持,但资源消耗大,启动慢。

Docker的体系结构:了解容器和图像Docker的体系结构:了解容器和图像May 08, 2025 am 12:17 AM

Docker架构的核心概念是容器和镜像:1.镜像是容器的蓝图,包含应用及其依赖。2.容器是镜像的运行实例,基于镜像创建。3.镜像由多个只读层组成,容器运行时添加可写层。4.通过Linux命名空间和控制组实现资源隔离和管理。

Docker的力量:集装箱化解释了Docker的力量:集装箱化解释了May 07, 2025 am 12:07 AM

Docker通过容器化技术简化了应用程序的构建、部署和运行。1)Docker是一个开源平台,使用容器技术打包应用及其依赖,确保跨环境一致性。2)镜像和容器是Docker的核心,镜像为应用的可执行包,容器为镜像的运行实例。3)Docker的基本用法如运行Nginx服务器,高级用法如使用DockerCompose管理多容器应用。4)常见错误包括镜像下载失败和容器启动失败,调试技巧包括查看日志和检查端口。5)性能优化和最佳实践包括镜像优化、资源管理和安全性提升。

Kubernetes和Docker:部署和管理集装箱应用程序Kubernetes和Docker:部署和管理集装箱应用程序May 06, 2025 am 12:13 AM

使用Kubernetes和Docker部署容器化应用的步骤包括:1.构建Docker镜像,使用Dockerfile定义应用镜像并推送到DockerHub。2.在Kubernetes中创建Deployment和Service来管理和暴露应用。3.使用HorizontalPodAutoscaler实现动态扩展。4.通过kubectl命令调试常见问题。5.优化性能,定义资源限制和请求,并使用Helm管理配置。

Docker:容器化技术简介Docker:容器化技术简介May 05, 2025 am 12:11 AM

Docker是一个开源平台,用于开发、打包和运行应用程序,通过容器化技术解决应用在不同环境中的一致性问题。1.构建镜像:通过Dockerfile定义应用环境和依赖,使用dockerbuild命令构建。2.运行容器:使用dockerrun命令从镜像启动容器。3.管理容器:通过dockerps、dockerstop、dockerrm等命令管理容器生命周期。

Docker和Linux:构建便携式应用程序Docker和Linux:构建便携式应用程序May 03, 2025 am 12:17 AM

如何利用Docker和Linux构建可移植的应用程序?首先,使用Dockerfile容器化应用,然后在Linux环境中管理和部署容器。1)编写Dockerfile,将应用及其依赖打包成镜像。2)使用dockerbuild和dockerrun命令在Linux上构建和运行容器。3)通过DockerCompose管理多容器应用,定义服务依赖关系。4)优化镜像大小和资源配置,增强安全性,提升应用性能和可移植性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!