首页 > 其他分享 >Docker之dockerfile

Docker之dockerfile

时间:2024-12-26 20:52:03浏览次数:8  
标签:app jar 命令 构建 镜像 Docker dockerfile docker

DockerFile

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

创建Dockerfile文件

vi Dockerfile
具体内容如下:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD learn-docker-storage-1.0-SNAPSHOT.jar app.jar
EXPOSE  8003
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

命令解释:
FORM:定制的镜像都是基于 FROM 的镜像,这里的 openjdk 就是定制需要的基础镜像,后续操作都是基于openjdk
VOLUME:挂载一个数据卷,这里因为没有名称,所以是一个默认的数据卷(后面详细解释)
ADD:添加一层镜像到当前镜像,这里就是添加SpringBootTest镜像到当前层,并改名app.jar
EXPOSE:暴漏端口,因为我们的自己的端口是8003,所以我们暴漏8003
ENTRYPOINT:设定容器启动时第一个运行的命令及其参数,这里就是容器以启动就执行 java -jar /app.jar

打包镜像

写好DockerFile后就需要用docker build命令来构建我们的镜像了,这样就可以将我们的微服务打包成一个镜像了

构建命令格式

构建一个镜像需要使用以下命令

docker bulid -t 仓库名/镜像名:tag .
实例:
docker build -t learn-docker-storage:0.0.1 .

参数解释
-t: 镜像的名字及标签,一般命名规则是 仓库名/镜像名:tag,
仓库名:一般是私服或者dockerhub等地址,如果忽略默认就是dockerhub的地址docker.io/library/
镜像名称:就是我们的自己的服务名称,可以随意命名
tag:就是我们的版本号
.:这个 . 表示当前目录,这实际上是在指定上下文的目录,只有.的话是指当前目录
docker build命令会将该目录下的内容打包交给Docker引擎以帮助构建镜像。

标签:app,jar,命令,构建,镜像,Docker,dockerfile,docker
From: https://www.cnblogs.com/Eduhg/p/18634137

相关文章

  • 2024年最新国内可用的Docker镜像加速器地址汇总
    Docker镜像加速器列表资源收集于网络,如果侵犯了您的权益,请联系我删除相关信息。 状态地址✅https://docker.1panel.live✅https://hub.rat.dev✅https://docker.actima.top✅https://atomhub.openatom.cn✅https://docker......
  • Docker部署vue
    docker部署vue首先你已经安装好了docker获取nginx镜像dockerpullnginx:1.25.0创建nginxconfig配置文件在项目根目录下创建文件default.conf,写入如下内容server{listen80;server_namelocalhost;#修改为docker服务宿主机的iplocation/{......
  • linux系统下docker安装mysql
    记录一下步骤:1、拉取镜像:dockerpullvijayan/mysql5.62、创建mysql挂载用数据卷cd/data/software/mysqlmkdirconfmkdirlogmkdirdata3、创建mysql配置文件cd/data/software/mysql/conf vimmy.conf[client]#端口号port=3306[mysql]no-beepdefault-character......
  • docker配置nginx
    docker部署项目是老生常谈的话题了。此文仅供给从未部署过的开发者查阅安装docker,这个自行百度。参考链接https://www.runoob.com/docker/centos-docker-install.html基于docker安装nginx镜像,dockerpullnginx运行docker容器,dockerrun-p8090:80--nameng-dnginx创......
  • ftp与sftp server docker部署
    目录ftpserver配置项forwindowssftpserver配置项ftpserverversion:'3.9'services:vsftpd:image:fauria/vsftpdcontainer_name:vsftpdenvironment:-FTP_PASS=ftp-FTP_USER=ftp-LOG_STD......
  • Docker镜像优化
    1、概述Docker作为一款广受欢迎的容器化技术,为开发者提供了极大的便利。它能够将应用程序以及其全部的依赖项整合并打包,形成一个标准化的独立单元——镜像。对Docker镜像进行优化意义非凡,一方面可以显著降低镜像的存储空间占用,进而大幅提升其下载与部署的速率;另一方面,还......
  • 在 Docker 中部署 Jenkins,并完成项目的构建和发布
    前言Jenkins的主要作用是帮助你,把需要在本地机器完成的Maven构建、Docker镜像发布、云服务器部署等系列动作全部集成在一个服务下。简化你的构建部署操作过程,因为Jenkins也被称为CI&CD(持续集成&持续部署)工具。提供超过1000个插件(Maven、Git、NodeJs)来支持构......
  • Kubernetes 为什么减少对 Docker 的依赖:容器运行时演进背后的技术考量
    1、概述在当今的技术领域,容器技术的崛起与发展离不开Docker和Kubernetes的紧密合作。Docker以其创新性的容器化技术,推动了容器在全球范围内的广泛应用,为开发者提供了从容器镜像构建、容器启动与管理到镜像分发等一站式服务。Kubernetes则专注于大规模容器的编排和自动......
  • Docker-compose和k8s有什么区别
    docker-compose.yml和Kubernets(K8S)是两种不同的工具和技术,用于容器编排和管理,但他们有着显著的区别。以下是两者之间的主要区别:1.简单性vs复杂性DockerCompose:设计用于简化开发环境的设置,它允许用户通过一个YAML文件定义多个Docker容器的应用服务,并使用单一命令启动或停止这......
  • Docker镜像下载
    我们在下载镜像时常常遇到下载很慢或者根本下载不了的情况,这时候有三种情况:网络配置不正确,导致本来可以下载但是下载不了需要加载国内代理加速需要用花钱的代理(懂吧?)来下载现在来分类分析:一、网络配置不正确首先确认你的IP、网关、域名解析配置正确,能通外网(用pingwww.baidu......