利用Dockerfile制作一个docker镜像

利用Dockerfile制作一个docker镜像

利用Dockerfile制作一个docker镜像

新建一个Dockerfile文件,在文件里定义编写特定的功能脚本。最后在当前目录下面,执行命令docker build -t [imgname] .,就可以得到一个自定义的docker镜像了。

Dockerfile内容

1
2
3
4
5
6
7
8
9
FROM openjdk:8
ENV TEST spring_lecture-1.0-SNAPSHOT.jar
COPY $TEST /app.jar
EXPOSE 9090
ENTRYPOINT ["java","-jar","/app.jar"]

入口文件

spring_lecture-1.0-SNAPSHOT.jar

jar中的服务:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@RequestMapping(value = "/person",method = RequestMethod.GET)
public Person getPerson() {
Person person = new Person();
person.setId(25);
person.setName("张三");
person.setBirthday(new Date());
System.out.println(myName);
System.out.println(myAge);
System.out.println("==================");
System.out.println(myConfig.myConfigBean().getMyName());
System.out.println(myConfig.myConfigBean().getMyAge());
return person;
}

返回报文:

1
2
3
4
5
{
id: 25,
name: "张三",
birthday: "2019-09-11T12:10:07.194+0000"
}

构建docker镜像

使用docker build命令,来构建最终的docker镜像。构建的依据就是:Dockerfile文件。使用-t来定义镜像名称,.表示要操作的目录。

1
docker build -t test .

运行镜像为容器

得到了test镜像之后,就可以docker run了。

1
docker run -it -d --name test -p 8000:9090 -d test:latest

访问 http://localhost:8000/api/person

获取报文:

1
2
3
4
5
{
id: 25,
name: "张三",
birthday: "2019-09-11T12:10:07.194+0000"
}