Docker学习-3: 用dockerfile制作镜像

1, 介绍Dockerfile:
dockerfile是一个文本的配置文件,它可以快速创建自定义的镜像
文本内容:包含了若干的命令行,并支持#作为注释行
文本格式:基础镜像FROM,维护者MAINTAINER,操作指令ADD,容器启动后指令等共计4部分。

2, dockerfile文件内容解释:

#1.基础镜像:FROM指令:基础镜像名:tag, 例如java:8
FROM java:8

#2.维护者:格式:MAINTAINER
MAINTAINER HWJ

#3.镜像的操作指令
#ADD拷贝一个文件到容器中,格式:ADD
ADD eureka-server-1.0-SNAPSHOT.jar /data/app.jar

#告诉docker容器暴露端口,在容器启动的时候,需要通过-p 做端口映射
EXPOSE 8761

#5.配置容器启动后,执行什么命令
ENTRYPOINT [“java”,"-jar","/data/app.jar"]

3, 构建镜像
docker build -t registry-hwj/eureka-server:1.0 .
其中 -t 对镜像进行命名,一般的命名法:仓库名字/镜像名字:版本号
注意:其中 .号,代表当前目录下的dockerfile文件。

4, 查看本地镜像
docker images在这里插入图片描述

5, 启动镜像
docker run -d -p 8761:8761 --name=eureka-server registry-hwj/eureka-server:1.0

6, 访问
http://192.168.1.130:8761/
在这里插入图片描述

7, 附录文件:

dockerfile:

路径: /data/dockerfile

#1.基础镜像:FROM指令:基础镜像名:tag,例如java:8
FROM java:8

#2.维护者:格式:MAINTAINER <name>
MAINTAINER agan

#3.镜像的操作指令
# ADD拷贝一个文件到容器中,格式:ADD <src> <dest>
ADD eureka-server-1.0-SNAPSHOT.jar  /data/app.jar

#告诉docker容器暴露端口,在容器启动的时候,需要通过-p 做端口映射
EXPOSE 8761

#5.配置容器启动后,执行什么命令
ENTRYPOINT ["java","-jar","/data/app.jar"]

eureka-server-1.0-SNAPSHOT.jar

路径: /data/dockerfile
是eureka注册中心, 代码如下, 自己打包上传上去即可.

package com.junlenet.docker.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**
 * describe: eureka 注册中心 启动类
 * created by hwj on 2019/6/11 23:25
 */
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }

}


更多精彩内容