一、Dockerfile使用

Dockerfile是用来快速构建docker镜像的配置文件,详见官方文档https://docs.docker.com/get-started/part2/。配置文件主要包括源镜像、维护者信息、镜像操作指令和容器启动指令四个部分。

下面是官方给的示例:

FROM node:6.11.5    

WORKDIR /usr/src/app
COPY package.json .
RUN npm install    
COPY . .

CMD [ "npm", "start" ]    

FROM是指这个镜像的源镜像为node:6.11.5,WORKDIR是后续命令操作的目录为镜像的/usr/src/app目录,copy指令是从宿主机当前路径拷贝文件到镜像的当前目录(.)也就是/usr/src/app/package.json,RUN npm install在镜像中执行npm install命令来安装依赖,最后再将其余源代码复制到镜像中。

将此配置文件保存在本地命名为Dockerfile,然后执行命令:

docker build -t bulletinboard:1.0 .

这样就创建好了一个名为bulletinboard:1.0的新的镜像。

二、构建java8镜像

首先准备jdk并解压,然后拉取centos镜像:

docker pull centos:7

查看当前有的镜像:

docker images

创建Dockerfile文件

vim Dockerfile

文件内容如下

FROM centos:7
MAINTAINER zhangc
ADD jdk1.8.0_161 /usr/local/jdk1.8.0_161 #前一个是宿主机路径 后一个是docker容器中的路径
ENV JAVA_HOME=/usr/local/jdk1.8.0_161
ENV CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
ENV PATH=$PATH:${JAVA_HOME}/bin

执行docker build

docker build -t java8 . #.是指当前文件夹下的Dockerfile文件

再次执行docker images会发现java8镜像有了:

然后启动一个该镜像的容器即可。

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐