docker通过dockerfile部署springBoot项目
2019-11-01 本文已影响0人
黄黄丶
养成良好的记录习惯
作者:黄黄
-
注: 我这里以springCloud单个eureka服务为例。另外如果部署完无法访问请确认云服务的安全组是否放行了
1.创建文件夹
用于存放dockerfile文件和jar包
mkdir -p /sell/zzw-eureka
2.创建dockerfile文件
dockerfile文件用于制作镜像,内部可以指定镜像多种属性
FROM hub.c.163.com/library/java:8-alpine
VOLUME /tmp
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ADD zzw-eureka.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
- FROM 镜像地址,我这里获取的是网易镜像库的8-alpine java版本,可自行去选择对应的版本
- VOLUME 数据库挂载出来,用于容器接收数据指定宿主机接收地址,默认就是/tmp
- RUN 运行对应的脚本,我这里是同步了宿主机和docker容器的时间
- ADD 可以理解为将dockerfile所在当前文件夹中zzw-eureka.jar 重命名
- ENTRYPOINT 运行对应的jar包,-Djava.security.egd=file:/dev/./urandom大致意思是加快tomcat运行速度,可自行百度。
3.打包生成jar
image.png4.上传dockerfile和jar至服务器上
[root@VM_0_10_centos zzw-eureka]# pwd
/sell/zzw-eureka
[root@VM_0_10_centos zzw-eureka]# ls
Dockerfile zzw-eureka.jar
5.构建镜像
docker build -t sell/zzw-eureka:0.1 /sell/zzw-eureka
[root@VM_0_10_centos zzw-eureka]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
sell/zzw-eureka 0.1 97456d37b426 3 hours ago 198MB
openzipkin/zipkin latest 33eb96edecfd 25 hours ago 156MB
mysql latest c8ee894bd2bd 2 weeks ago 456MB
redis latest de25a81a5a0b 2 weeks ago 98.2MB
rabbitmq management 27764c8758a0 2 weeks ago 180MB
hub.c.163.com/library/java 8-alpine d991edd81416 2 years ago 145MB
- sell/zzw-eureka 是自定义的镜像名称
- 0.1 是指定镜像的tag(类似于版本)
- /sell/zzw-eureka 是dockerfile文件所在地址
6.启动镜像
docker run -d -p 8761:8761 --name zzw-eureka sell/zzw-eureka:0.1
[root@VM_0_10_centos zzw-eureka]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13e479f1a88b sell/zzw-eureka:0.1 "java -Djava.securit…" 3 hours ago Up 3 hours 0.0.0.0:8761->8761/tcp zzw-eureka
- -d后台运行
- -p映射端口
- --name容器名称