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

安装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

镜像加速

——容器镜像服务——镜像加速器 将上图中红色方框中的内容拷贝到shell脚本中,运行脚本即可

暴露2375端口

修改docker配置文件 vim /usr/lib/systemd/system/docker.service 找到ExecStart添加-H tcp://0.0.0.0:2375,如下图 重启docker systemctl daemon-reload systemctl restart docker

spring-boot项目

添加docker插件

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

<build>
    <finalName>spring-boot-demo</finalName>
    <plugins>
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.4.12</version>
            <configuration>
                <!-- 镜像名称 -->
                <imageName>springboot/spring-boot-demo</imageName>
                <!-- 上一步创建的虚拟机ip -->
                <dockerHost>192.168.234.201</dockerHost>
                <dockerDirectory>${project.basedir}</dockerDirectory>
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
    </plugins>
</build>

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

FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER xuelingkang@163.com
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

上传镜像到阿里云

  1. 登录阿里云镜像仓库服务控制台,创建镜像,步骤略。
  2. 点击创建好的镜像 按照操作指南将本地虚拟机中的镜像上传到阿里云
    docker login --username=xuelingkang@163.com 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

网站地址

经验分享 程序员 微信小程序 职场和发展