新手入门 - 5. Dockerfile

104 阅读2分钟

Dockerfile 就是用来制作 Docker 镜像的。

一、Docker 镜像原理

image.png

image.png

image.png

镜像制作

Docker 镜像的制作有两个方法:

方法一:容器转为镜像

image.png

docker commit 容器id 镜像名称:版本号

注意事项: 将容器转为镜像,如果容器里有挂载目录,则不会被转到镜像里面的。

由于镜像是不能直接发送给其他人的,所以我们可以把镜像压缩成文件进行传输: image.png

docker save -o 压缩文件名称 镜像名称:版本号

其他人拿到镜像的压缩文件,需要进行解压缩: image.png

docker load -i 压缩文件名称

演示: 将 tomcat 容器转为镜像,命名为 zzy_tomcat,版本号定义为 1: image.png image.png image.png

将制作的镜像压缩成文件: image.png

对镜像压缩文件进行解压缩: 现在本地是没有zzy_tomcat镜像的: image.png 进行解压缩: image.png 查看镜像: image.png

方法二:dockfile

下面进行介绍 Dockerfile 概念和作用

二、Dockerfile 概念及作用

image.png

三、Dockerfile 关键字

image.png image.png image.png

四、Dockerfile 案例

案例一:自定义 centos7 镜像

要求:

image.png

实现步骤: image.png 对dockerfile进行构建: image.png

参数说明:

  • -f:指定 dockerfile 的文件路径。
  • -t:设置新镜像的名称和版本。
  • .:dockerfile 里面需要用到的宿主机的文件的路径。

构建完成: image.png 基于此镜像创建并进入容器: image.png 可以看到直接进入容器的 usr 目录了。

案例二:定义dockerfile,发布springboot项目

实现步骤:

  1. 定义父镜像:FROM java:8
  2. 定义作者信息:MAINTAINER zzy <zzy123@154.com>
  3. 将 jar 包添加到容器:ADD springboot.jar app.jar
  4. 定义容器启动执行的命令:CMD java -jar app.jar
  5. 通过 dockerfile 构建镜像:docker build -f dockerfile文件路径 -t 镜像名称:版本

演示: 写一个简单的springboot项目,可以返回Hello SpringBoot Docker文字给浏览器: image.png

将项目打包为 jar 包,放到 linux 系统上: image.png 编写 springboot 项目的dockerfile: image.png 构建dockerfile 文件: image.png 构建完成,查看镜像: image.png 基于此镜像,创建并启动容器: image.png 打开浏览器验证: image.png