Docker镜像构建

简介: Docker镜像怎么构建呢?以下有回答。

1.jdk镜像构建


首先创建一个目录


在这个目录下,将下载的jdk tar包解压


创建Dockerfile文件,并编辑,将下面的内容复制进去


##基于centos7进行构建

FROM centos:centos7


##创建JDK安装目录

RUN mkdir -p /usr/java


##将解压的JDK复制到上面的目录中


COPY jdk1.8.0_192 /usr/java/jdk1.8.0_192


##设置java环境变量

ENV JAVA_HOME=/usr/java/jdk1.8.0_192

ENV PATH=$JAVA_HOME/bin:$PATH


然后执行


docker build -t arungupta/jdk .

arungupta/jdk :s是你要构建的景象名称


然后通过docker images查看镜像


image.png

运行刚才创建的jdk镜像

docker run -d -it arungupta/jdk /bin/bash


image.png


注意:创建容器的时候一定要使用 -it /bin/bash这种方式,要不然jdk的容器起不来。

验证镜像中的jdk


docker exec -it <刚才运行的容器ID> /bin/bash


image.png

在命令刚下查看环境是否正确


Spring boot应用镜像构建


将你的Springboot打jar包,目录结构


建立一个目录,在这个目录下创建Dockerfile,编辑内容

image.png


##从我们刚才构建的JDK镜像进行构建

FROM arungupta/jdk

MAINTAINER zjf "zhangjf1@gmail.com"

ADD spring-boot-1.0.jar app.jar

COPY spring-boot-1.0.jar /soft/apps

ENTRYPOINT exec java -jar app.jar


然后执行命令


docker build -t zjf/springboot .


然后docker images 查看构建好的镜像运行刚才我们构建的spring boot镜像

docker run -p 3003:3003 -t zjf/springboot

-p是端口映射,前面是服务的端口,后面是容器的映射端口,这样是为了和宿主机上的端口冲突


如果要放到后台运行,加-it


image.png

然后在浏览器中访问localhost:3003


image.png



目录
相关文章
|
20天前
|
运维 Kubernetes Docker
利用Docker和Kubernetes构建微服务架构
利用Docker和Kubernetes构建微服务架构
|
24天前
|
缓存 Linux 网络安全
docker的镜像无法下载如何解决?
【10月更文挑战第31天】docker的镜像无法下载如何解决?
963 29
|
2月前
|
缓存 监控 持续交付
|
20天前
|
存储 关系型数据库 Linux
【赵渝强老师】什么是Docker的镜像
Docker镜像是一个只读模板,包含应用程序及其运行所需的依赖环境。镜像采用分层文件系统,每次修改都会以读写层形式添加到原只读模板上。内核bootfs用于加载Linux内核,根镜像相当于操作系统,上方为应用层。镜像在物理存储上是一系列文件的集合,默认存储路径为“/var/lib/docker”。
|
26天前
|
存储 监控 Linux
docker构建镜像详解!!!
本文回顾了Docker的基本命令和管理技巧,包括容器和镜像的增删改查操作,容器的生命周期管理,以及如何通过端口映射和数据卷实现容器与宿主机之间的网络通信和数据持久化。文章还详细介绍了如何使用Docker部署一个简单的Web应用,并通过数据卷映射实现配置文件和日志的管理。最后,文章总结了如何制作自定义镜像,包括Nginx、Python3和CentOS镜像,以及如何制作私有云盘镜像。
114 2
|
27天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
71 1
|
2月前
|
Kubernetes 负载均衡 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
本文介绍了Docker和Kubernetes在构建高效微服务架构中的应用,涵盖基本概念、在微服务架构中的作用及其实现方法。通过具体实例,如用户服务、商品服务和订单服务,展示了如何利用Docker和Kubernetes实现服务的打包、部署、扩展及管理,确保微服务架构的稳定性和可靠性。
88 7
|
1月前
|
Kubernetes 负载均衡 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【10月更文挑战第22天】随着云计算和容器技术的快速发展,微服务架构逐渐成为现代企业级应用的首选架构。微服务架构将一个大型应用程序拆分为多个小型、独立的服务,每个服务负责完成一个特定的功能。这种架构具有灵活性、可扩展性和易于维护的特点。在构建微服务架构时,Docker和Kubernetes是两个不可或缺的工具,它们可以完美搭档,为微服务架构提供高效的支持。本文将从三个方面探讨Docker和Kubernetes在构建高效微服务架构中的应用:一是Docker和Kubernetes的基本概念;二是它们在微服务架构中的作用;三是通过实例讲解如何使用Docker和Kubernetes构建微服务架构。
61 6
|
29天前
|
存储 Java 开发者
成功优化!Java 基础 Docker 镜像从 674MB 缩减到 58MB 的经验分享
本文分享了如何通过 jlink 和 jdeps 工具将 Java 基础 Docker 镜像从 674MB 优化至 58MB 的经验。首先介绍了选择合适的基础镜像的重要性,然后详细讲解了使用 jlink 构建自定义 JRE 镜像的方法,并通过 jdeps 自动化模块依赖分析,最终实现了镜像的大幅缩减。此外,文章还提供了实用的 .dockerignore 文件技巧和选择安全、兼容的基础镜像的建议,帮助开发者提升镜像优化的效果。
|
1月前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
29 4