Docker自定义镜像

目录

回顾

镜像含义

DockerFile语法

自定义java项目镜像

创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,将 java 项目打包成 jar 包,放到这个目录中

​编辑

编写DockerFile文件信息

 使用 docker build 构建为一个镜像

查看构建的镜像

docker run运行镜像


回顾

镜像含义

是一个轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),之后个打包好的运行环境就是image镜像文件。

DockerFile语法

DockerFile就是一个纯文本,里面记录了一系列的构建指令,如选择基础镜像、拷贝文件、运行脚本等等,Run,Copy,Add指令都会生成一个Layer,而Docker顺序执行这个文件里的所有步骤,最后就会创建出一个新的镜像出来。

 以下命令参考官方文档

指令 说明
FROM 指定基础镜像
ENV 设置环境变量,可在后面指令使用
COPY 拷贝本地文件到镜像的指定目录
RUN 指令linux的shell命令,一般是安装过程的命令
EXPOSE 指定容器运行时监听的端口,是给镜像使用者看的
ENTRYPOINT 镜像中应用的启动命令,容器运行时调用

自定义java项目镜像

创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,将 java 项目打包成 jar 包,放到这个目录中

编写DockerFile文件信息

基本信息如下:

  1. 基于XXX作为基础镜像
  2. 将 app.jar 拷贝到镜像中
  3. 暴露端口
  4. 编写入口 ENTRYPOINT
#基础镜像
FROM java:8-alpine

#设置时区
ENV TZ=Asi/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

#拷贝jar包
COPY docker-demo.jar /app.jar

#暴露端口
EXPOSE 8090

#入口
ENTRYPOINT ["java","-jar","/app.jar"]

 使用 docker build 构建为一个镜像

Docker自定义镜像_第1张图片

参数说明:

  • -t 表示设置镜像名和版本号(自定义)
  • . 表示 Dockerfile 所在目录,因为刚刚我是将 Dockerfile 放在了当前文件目录下,所以就用 . 来表示当前目录

查看构建的镜像

Docker自定义镜像_第2张图片

docker run运行镜像

Docker自定义镜像_第3张图片

根据服务器 IP 和自己配置的镜像映射端口号以及项目地址就可以访问了

你可能感兴趣的:(Docker,docker,容器,运维)