docker 使用dockerfile制作镜像

请先查看上篇文章:linux下  docker的安装

1、首先准备一个可以正确运行的jar文件

我这里准备了一个名叫springcloud-eureka.jar的文件,我们测试如何使用dockerfile将jar文件打包成docker镜像。

 

2、编写dockerfile文件

FROM java:8-jre-alpine 
MAINTAINER  oowoo [email protected] 
ENV TZ=Asia/Shanghai  
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone #设置时区
COPY  target/eureka-0.0.1-SNAPSHOT.jar  /eureka-0.0.1-SNAPSHOT.jar 
ENTRYPOINT ["sh","-c", "java  -Dserver.port=1010  -Xms300m -Xmx300m -jar  /eureka-0.0.1-SNAPSHOT.jar"]

 

①、FROM: 格式为FROM image或FROM image:tag,并且Dockerfile中第一条指令必须是FROM指令,且在同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令

②MAINTAINER oowoo [email protected] #格式为MAINTAINER user_name user_email,指定维护者信息

③、RUN :这里仅仅只是设置一个时区

④、COPY: 格式为:COPY src desc 复制本地主机src目录或文件到容器的desc目录,desc不存在时会自动创建

⑤、ENTRYPOINT:格式有两种:

ENTRYPOINT ["executable","param1","param2"]

ENTRYPOINT command param1,param2 会在shell中执行。

用于配置容器启动后执行的命令,这些命令不能被docker run提供的参数覆盖。和CMD一样,每个Dockerfile中只能有一个ENTRYPOINT,当有多个时最后一个生效。

 

3、创建镜像

在dockerfile文件所在目录执行以下命令:

docker build -t springcloud-eureka ./

springcloud-eureka是随意取的自定义镜像名称,如果看到如下内容,说明镜像创建成功。

docker 使用dockerfile制作镜像_第1张图片

 

 

4、查看镜像列表

docker images

镜像列表如下:

 

 

5、启动镜像

docker run -it -p 999:1010 springcloud-eureka/ /bin/bash

-p 指定对外访问的端口和容器端口,999是对外访问的端口,1010是容器端口

 

6、查看docker启动的镜像进程

docker ps -a

已经启动的进程列表如下:

 

7、访问镜像

http://ip:999

我这里启动的是springcloud服务注册中心eureka,访问到的页面如下:

docker 使用dockerfile制作镜像_第2张图片

 

 

你可能感兴趣的:(docker 使用dockerfile制作镜像)