前提
服务器上要安装有
- Docker
- Docker Compose
- Java
- Maven
另外还需要在另一台服务器或者本机上搭建有私服镜像管理中心
- Docker Registry
第一步
先把项目克隆到本地文件夹中
第二步
使用maven命令使项目打包生成jar文件
mvn clean package
第三步
在项目中新建docker文件夹,并且在docker文件夹中新建Dockerfile文件并且把target中生成的jar包复制进docker文件夹内。
其中Dockerfile如下
FROM openjdk:8-jre
RUN mkdir /app
COPY spring-boot-01-helloworld-1.0-SNAPSHOT.jar /app/
CMD java -jar /app/spring-boot-01-helloworld-1.0-SNAPSHOT.jar
EXPOSE 8080
第四步
此时需要用到前提准备中的私服镜像管理中心,在docker文件夹中使用命令
docker build -t 192.168.37.129:5000/spring-boot-01-helloworld .
其中192.168.37.129:5000是我私服镜像管理中心的地址与端口,这条命令的大致意思是把Dockerfile编译并且把制造出来的镜像推向我的私服,方便下次拉取
使用docker命令docker images
查看镜像是否存在
这里可以看出镜像是成功生成了的
其实到这一步我们是可以直接用docker命令来启动这个镜像的了,不过为了更好的管理镜像,我推荐用docker-compose的方法来启动。
第五步(额外)
在docker文件夹中新建docker-compose.yml文件
vim docker-compose.yml
其中docker-compose.yml文件内容
version: '3.1'
services:
spring-boot-01-helloworld:
restart: always
images: 192.168.37.129:5000/spring-boot-01-helloworld
container_name: spring-boot-01-helloworld
ports:
- 8080:8080
使用命令docker-compose up -d
启动
docker ps
查看镜像是否启动成功
确定镜像已经成功映射到服务器的8080端口了,通过访问服务器ip:8080
查看是否访问成功。
能够访问成功说明镜像成功部署到容器中。