Docker 发布springboot 项目

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15603633/article/details/83899108

1)Spring Boot 项目添加 Docker 支持

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
		<!-- Docker maven plugin -->
		<plugin>
			<groupId>com.spotify</groupId>
			<artifactId>docker-maven-plugin</artifactId>
			<version>1.0.0</version>
			<configuration>
				<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
				<dockerDirectory>src/main/docker</dockerDirectory>
				<resources>
					<resource>
						<targetPath>/</targetPath>
						<directory>${project.build.directory}</directory>
						<include>${project.build.finalName}.jar</include>
					</resource>
				</resources>
			</configuration>
		</plugin>
		<!-- Docker maven plugin -->
	</plugins>
</build>

2) 添加 jdk , maven 环境变量。

3)安装 Docker 环境

      a)安装  

yum install docker

     b)安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动

service docker start
chkconfig docker on

#LCTT 译注:此处采用了旧式的 sysv 语法,如采用CentOS 7中支持的新式 systemd 语法,如下:
systemctl  start docker.service
systemctl  enable docker.service

    c)使用Docker 中国加速器

vi  /etc/docker/daemon.json

#添加后:
{
    "registry-mirrors": ["https://registry.docker-cn.com"],
    "live-restore": true
}

   d)重新启动docker

systemctl restart docker

输入docker version 返回版本信息则安装正常。

4) 使用 Docker 部署 Spring Boot 项目

将项目 spring-boot-docker 拷贝服务器中,进入项目路径下进行打包测试。

#打包
mvn package
#启动
java -jar target/demo-spring-boot-1.0.jar

创建 Dockerfile 文件,并将*.jar 文件放在同一个文件夹下(最好单独放一起)。例如

# 基础镜像使用Java
FROM java:8
# 作者
MAINTAINER lr
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD demo-0.0.1-SNAPSHOT.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
# 指定容器需要映射到主机的端口
EXPOSE 8080

执行镜像构建命令

**docker image build -t demo-springboot . // 镜像名随意,注意最后有一个点**

查看docker 构建的镜像中是否存在demo-springboot

docker images

运行镜像

docker run -p8080:8089 -d demo-springboot

其中: 1) -p外部端口号:内部端口号

2) -d 后台运行

猜你喜欢

转载自blog.csdn.net/qq_15603633/article/details/83899108