新建一个spring boot项目
初始化一个Spring Boot项目,就新建一个eureka注册中心好了,以此举例说明(源码位置:点此跳转)
打包doe-eurka项目成jar包,没改任何配置的话打出的jar包名是doe-eureka-0.0.1-SNAPSHOT.jar
将此jar包放到服务器中与Dockefile文件目录平级
Dockerfile文件中的内容如下:
FROM anapsix/alpine-java
VOLUME /tmp
ADD doe-eureka-0.0.1-SNAPSHOT.jar app-eureka.jar
RUN bash -c 'touch /app-eureka.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app-eureka.jar"]
EXPOSE 12111
参数说明:
FROM anapsix/alpine-java
:基础镜像是anapsix/alpine-java,是Docker Hub上的java镜像,体积很小,项目是以这个java镜像为基础运行的VOLUME /tmp
:创建/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录ADD doe-eureka-0.0.1-SNAPSHOT.jar app-eureka.jar
:将当前目录的doe-eureka-0.0.1-SNAPSHOT.jar包复制到/app-eureka.jarRUN bash -c 'touch /app-eureka.jar'
:touch已有文件,更新一下复制进来jar包的时间信息ENTRYPOINT ···
:表示容器运行要执行的命令EXPOSE 12111
:开放出12111端口
更多参数详情查看官方文档
创建镜像
用Dockerfile创建一个镜像取名为doe/eureka版本为v1。
[root@Charlie docker]# docker build -t doe/eureka:v1 .
···
Successfully built 9d9cbec08724
[root@Charlie docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
doe/eureka v1 9d9cbec08724 15 seconds ago 218 MB
运行容器
映射镜像端口12111到宿主的8212端口,将容器命名为doe_eureka
[root@vmyy3syb docker]# docker run -d -p 8212:12111 --name doe_eureka doe/eureka:v1
16ae19df0e9ce068be681e08b8a9536c1d8196535ea7033a3e0da9ec2f116a37
查看效果
运行的宿主机IP:8212
即可查看效果