我这里的环境是自己的阿里云服务器 Centos ,由于服务器中已经有了java环境以及docker容器,这里不介绍jdk安装及配置和docker的安装。
1、新建项目 service01,如下:
pom:
4.0.0
com.service01
cloud_service_01
0.0.1-SNAPSHOT
jar
cloud_service_01
service01
org.springframework.boot
spring-boot-starter-parent
1.5.10.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-starter-eureka
1.4.5.RELEASE
org.springframework.cloud
spring-cloud-starter-feign
1.4.3.RELEASE
org.springframework.cloud
spring-cloud-starter-hystrix
1.2.5.RELEASE
org.springframework.cloud
spring-cloud-starter-ribbon
1.4.5.RELEASE
org.springframework.boot
spring-boot-starter-actuator
org.springframework.retry
spring-retry
1.2.2.RELEASE
service01
org.springframework.boot
spring-boot-maven-plugin
org.apache.maven.plugins
maven-surefire-plugin
true
org.apache.maven.plugins
maven-war-plugin
2.5
${project.build.finalName}
false
com.spotify
docker-maven-plugin
1.0.0
${project.build.finalName}
src/main/docker
/
${project.build.directory}
${project.build.finalName}.jar
2、项目pom--> plugins 中添加 Docker 构建插件:
service01
com.spotify
docker-maven-plugin
1.0.0
${project.build.finalName}
src/main/docker
/
${project.build.directory}
${project.build.finalName}.jar
3、在目录src/main/docker下创建 Dockerfile 文件,Dockerfile 文件用来说明如何来构建镜像,由于是入门级这里配置咱们怎么简单怎么来,后期慢慢深入研究。
FROM openjdk:8-jdk-alpine
ADD springboot-docker.jar springboot-docker.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/springboot-docker.jar"]
FROM ,表示使用 Jdk8 环境 为基础镜像,如果镜像不是本地的会从 DockerHub 进行下载
VOLUME ,VOLUME 指向了一个/tmp的目录,由于 Spring Boot 使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
ADD ,拷贝文件并且重命名
ENTRYPOINT ,为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT
注意:这里 ADD 指令中的 springboot-docker.jar 要与项目pom -> plugins 中
4、项目配置完成之后要确认服务器中是否配有maven的环境变量,如果没有则进行mavean 配置:
1》下载maven包:wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
2》解压:tar vxf apache-maven-3.3.9-bin.tar.gz
3》重命名:mv apache-maven-3.3.9-bin maven3
4》配置环境变量:vi /etc/profile
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
5》使环境变量生效:source /etc/profile
5、为了方便起见 将代码提交至git,(或者自行传到服务器上也行)
6、克隆代码:git clone
7、构建docker image, 进入项目目录(与pom同级的目录),mvn package docker:build 第一次构建可能时间久一点,耐心等待,构建完成出现如下提示标识成功:
注:如果报错:
[ERROR] No plugin found for prefix 'docker' in the current project
and in the plugin groups [org.sonatype.plugins, org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/../Repository), nexus (http://3.2.4.2:8888/repository/maven-public/)]
可以试试在 maven conf/setting.xml 的配置文件中添加
com.spotify
9、接下来创建该镜像的容器:docker run --name service01 -d -p 9005:8809 e3f0dbc002f8
10、访问:http://ip地址:9005/ping