使用dockerfile构建自己的镜像

简介: 使用dockerfile构建自己的镜像

一、什么是dockerfile


1.Dockerfile是Image镜像的描述文件
2.dockerfile内容详解
```
#利用FROM命令设置基准镜像
FROM tomcat:latest
#cd /usr/local/tomcat/webapps
WORKDIR /usr/local/tomcat/webapps
#ADD用于复制本地文件到镜像中
ADD docker-web ./docker-web
```
  它的作用是对我们的镜像进行描述,描述我们的镜像到底要做哪些工作,在这个文件中它书写了一系列的指令,通过这些指令docker就知道我们如果要安装一个tomcat,需要哪几步,安装 一个redis需要哪几步,这非常像我们linux中的shell脚本或者是windows中的bat。


二、Dockerfile基础指令


1.from-基于基准镜像
    from  centos #制作基准镜像
    from  scratch  #不依赖任何基准镜像 base image
    from tomcat: 9.0.22-jdk8-openjdk
    尽量使用官方提供的Base Image
2.label-说明信息(注释)
    label  maintainner='caiweiwei'
    label  version='10'
    label description='caiweiwei应用'
3.workdir-设置工作目录
      workdir /usr/local
      workdir /usr/local/caiweiwei  #自动创建
      尽量使用绝对路径
4.add & copy-复制文件
      add hell /  #复制到根路径
      add test.tar.gz / #添加根目录并解压
       add除了复制,还具备添加远程文件功能
  5.env-设置环境常量
        env java_home /usr/local/openjdk8
        run${java_home}/bin/java -jar test.jar
        尽量使用环境常量,可提高程序维护性
6.expose -暴露容器端口
        expose 8080
        expose 3306
        将容器内部端口暴露给物理机


三、Dockerfile运行指令


1.RUN :在build构建时执行命令
    run yum install -y vim  #Shell命令格式
    run["yum","install","-y","vim"] #Exec命令格式
2.entrypoint: 容器启动时执行的命令
    entrypoint(入口点)用于容器启动时执行命令
    dockerfile中只有最后一个entryfile会被执行
    entrypoint["ps"] #推荐使用Exec格式
3.cmd: 容器启动后执行默认的命令或参数
    cmd用于设置默认执行的命令
    如果dockerfile中出现多个cmd,则只有最后一个被执行
    如容器启动是附加指令,则cmd被忽略
    cmd["ps","-ef"]  #推荐使用Exec格式



相关文章
|
3月前
|
Java 持续交付 Docker
Docker 项目如何使用 Dockerfile 构建镜像?
Docker 简介:讲述 Docker 的起源、它是如何革新现代软件开发的,以及它为开发者和运维团队带来的好处。重点强调 Docker 的轻量级特性和它在提高应用部署、扩展和隔离方面的优势。
|
5天前
|
JavaScript Java Docker
使用 Dockerfile 构建和定制 Docker 镜像
Dockerfile是构建Docker镜像的文本文件,包含一系列指令,如`FROM`, `WORKDIR`, `COPY`, `RUN`, `EXPOSE`和`CMD`。它用于自动化`docker build`命令来创建Image。使用Dockerfile可以基于官方镜像定制应用镜像,方便应用容器化和扩展。基本流程包括选择基础镜像、设置工作目录、安装依赖、暴露端口和定义启动命令。构建镜像使用`docker build`,运行容器用`docker run`。了解并熟练使用Dockerfile能提升容器化部署效率。
17 0
|
3月前
|
运维 Ubuntu Docker
【Docker】Dockerfile 构建文件
【1月更文挑战第26天】【Docker】Dockerfile 构建文件
|
3月前
|
缓存 Ubuntu JavaScript
Docker自定义镜像-构建镜像-Dockerfile语法
Docker自定义镜像-构建镜像-Dockerfile语法
45 0
|
3月前
|
网络协议 Java Shell
docker镜像构建之Dockerfile
docker镜像构建之Dockerfile
45 0
|
4月前
|
存储 缓存 Docker
Docker镜像构建:深入Dockerfile创建自定义镜像
Docker的强大之处在于其能够通过Dockerfile定义和构建自定义镜像,为应用提供独立、可移植的运行环境。在这篇博客文章中,将深入探讨Docker镜像构建的核心概念,通过更加丰富的示例代码,帮助大家全面理解和掌握构建自定义镜像的技术。
|
10月前
|
Ubuntu 关系型数据库 MySQL
利用Dockerfile创建指定镜像
利用Dockerfile创建指定镜像
184 2
|
11月前
|
Shell Linux 开发工具
一文简单了解并构建Dockerfile
一文简单了解并构建Dockerfile
169 0
|
应用服务中间件 Linux nginx
Docker 基于Dockerfile创建镜像实践
Docker 基于Dockerfile创建镜像实践
130 0
|
Linux Docker 容器
Dockerfile 文件结构、docker镜像构建过程详细介绍
本文是博主学习docker 镜像制作的记录,希望对大家有所帮助
242 0
Dockerfile 文件结构、docker镜像构建过程详细介绍