一、Dokcerfile介绍
- docker推荐使用dockerfile的定义文件和docker build命令来构建镜像。dockerfile使用基本的基于DSL(面向领域语言)语法的指令来构建Docker镜像。另一种创建Docker镜像的方式是使用docker commit,不推荐使用。
- dockerfile有一系列指令和参数组成,每条指令都必须为大写,执行时按顺序从上到下执行,所以应该根据需要合理安排指令的顺序。
- 使用建议: 精简镜像用途:尽量让每个镜像的用途都比较集中单一,避免构造大而复杂、多功能的镜像
- 选用合适的基础镜像:容器的核心是应用,选择过大的父镜像(如Ubuntu系统镜像)会造成最终生成应用镜像的膝肿,推荐选用瘦身过的应用镜像或者较为小巧的系统镜像(alpine)
- 基础镜像信息 :FROM 维护者信息
- MAINTAINER 镜像操作指令: RUN、(COPY/ADD)、EXPOSE、WORKDIR、ONBUILD、USER、VOLUME等
- 容器启动时执行指令: CMD、ENTRYPOINT
下面给大家演示一个通过Dockerfile的方式构建一个安装了jdk的镜像。
二、Docker准备
1、创建目录
创还能一个目录,目录里面创建一个Dokcerfile文件,文件名必须以大写开头,必须是Dockerfile,且不能有文件扩展名。不能更改任何,否则就无效了。
2、编辑Dockerfile文件
用记事本打开编辑,添加下面的配置。
#第一步:指定基础镜像
FROM ubuntu:18.04
#第二步:指定维护信息
MAINTAINER aq "lisensir@qq.com"
#第三步:复制jdk-8u151-linux-x64.tar.gz /jdk1.8.0_151
ADD jdk-8u151-linux-x64.tar.gz /usr/local/java
#第四步:环境变量设置
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_151
ENV PATH=${JAVA_HOME}/bin:$PATH
3、上传linux
1、打开Xftp
2、在虚拟机里面找一个目录来存放,把装有Dokcerfile和jdk的母录文件传过来。
回到虚拟机查看一下有没有。
4、构建镜像
1、进入上传文件的那个目录下,使用命令做成可用的镜像容器。
docker build -t jdk8mage .
2、上面的命令执行完了之后,再查看一下,就能发现已经被做好成为镜像了。
docker images
5、通过镜像运行容器
docker run -it jdk8mage /bin/bash