使用docker部署springboot项目,完整步骤

使用docker部署springboot项目

  • 安装docker
    • 新建本地虚拟机
    • 安装docker-ce
    • 镜像加速
    • 暴露2375端口
  • spring-boot项目
    • 添加docker插件
    • 打包
  • 上传镜像到阿里云
  • 在服务器上运行项目
    • 拉取镜像
    • 运行镜像
  • 网站地址

安装docker

新建本地虚拟机

使用VMware创建centos7虚拟机

安装docker-ce

参考云栖社区教程

  1. 安装必要的一些系统工具
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  2. 添加软件源信息
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. 更新并安装 Docker-CE
    sudo yum makecache fast
    sudo yum -y install docker-ce
  4. 开启Docker服务
    sudo service docker start
  5. docker开机自启动
    systemctl enable docker

镜像加速

阿里云控制台——容器镜像服务——镜像加速器
使用docker部署springboot项目,完整步骤_第1张图片
将上图中红色方框中的内容拷贝到shell脚本中,运行脚本即可

暴露2375端口

修改docker配置文件
vim /usr/lib/systemd/system/docker.service
找到ExecStart添加-H tcp://0.0.0.0:2375,如下图
使用docker部署springboot项目,完整步骤_第2张图片
重启docker
systemctl daemon-reload
systemctl restart docker

spring-boot项目

添加docker插件

修改pom.xml文件,添加以下插件

<build>
    <finalName>spring-boot-demofinalName>
    <plugins>
        <plugin>
            <groupId>com.spotifygroupId>
            <artifactId>docker-maven-pluginartifactId>
            <version>0.4.12version>
            <configuration>
                
                <imageName>springboot/spring-boot-demoimageName>
                
                <dockerHost>192.168.234.201dockerHost>
                <dockerDirectory>${project.basedir}dockerDirectory>
                <resources>
                    <resource>
                        <targetPath>/targetPath>
                        <directory>${project.build.directory}directory>
                        <include>${project.build.finalName}.jarinclude>
                    resource>
                resources>
            configuration>
        plugin>
    plugins>
build>

在项目根目录下创建Dockerfile文件,内容如下

FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER [email protected]
ADD spring-boot-demo.jar app.jar
EXPOSE 8080
CMD nohup java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom $JAVA_OPTS -jar app.jar > /var/log/spring-boot-demo.log

打包

在项目根目录下打开cmd窗口,或者直接在idea中打开Treminal窗口,运行以下命令
mvn clean package -Dmaven.test.skip=true docker:build
成功后可以在虚拟机上查看到刚刚创建的镜像
docker images
docker images

上传镜像到阿里云

  1. 登录阿里云镜像仓库服务控制台,创建镜像,步骤略。
  2. 点击创建好的镜像
    使用docker部署springboot项目,完整步骤_第3张图片
    按照操作指南将本地虚拟机中的镜像上传到阿里云
    使用docker部署springboot项目,完整步骤_第4张图片
  • docker login [email protected] registry.cn-zhangjiakou.aliyuncs.com
  • docker tag 012a2fd89768 registry.cn-zhangjiakou.aliyuncs.com/xzixi/spring-boot-demo:4.0
  • docker push registry.cn-zhangjiakou.aliyuncs.com/xzixi/spring-boot-demo:4.0

在服务器上运行项目

拉取镜像

docker pull registry.cn-zhangjiakou.aliyuncs.com/xzixi/spring-boot-demo:4.0
拉取完成后使用docker images命令查看镜像列表
镜像列表
为了方便使用,用docker tag命令将镜像重名
docker tag 012a2fd89768 bootdemo:4.0
重命名
删除远程镜像
docker rmi registry.cn-zhangjiakou.aliyuncs.com/xzixi/spring-boot-demo:4.0

运行镜像

docker run -d --name bootdemo \
# 可以在这里设置jvm参数,spring环境变量等
-e JAVA_OPTS='-Dspring.profiles.active=prod' \
# 挂载日志目录
-v /var/log/spring-boot-demo:/var/log/spring-boot-demo \
# 同步时间
-v /etc/localtime:/etc/localtime \
-p 8080:8080 \
bootdemo:4.0

网站地址

https://demo.xzixi.com

你可能感兴趣的:(docker,springboot)