SpringBoot部署项目到Docker仓库

SpringBoot部署项目到Docker仓库

1.开启远程控制端口

  • Centos7开启方式:

    vim /lib/systemd/system/docker.service
    找到ExecStart

    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock  
    
    
  • 重启docker

        启动 systemctl start docker
        守护进程重启  sudo systemctl daemon-reload
        重启docker服务  systemctl restart docker
        重启docker服务  sudo service docker restart
        关闭docker   service docker stop   
        关闭docker  systemctl stop docker
    

2.创建springboot项目

  • 利用IDEA快速创建springboot项目:


  • 添加测试Controller

3.配置项目构建信息

  • pom.xml文件中配置如下:
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
            
                com.spotify
                docker-maven-plugin
                1.0.0
                
                    
                    http://192.168.101.205:2375
                    
                    spring-boot-docker:1.1.1
                    
                    java
                    
                    ${project.basedir}/src/main/docker
                    
                    
                        
                            /
                            ${project.build.directory}
                            ${project.build.finalName}.jar
                        
                    
                
            
            
        
    

说明:

  • http://192.168.101.205:2375 就是docker服务器地址
  • spring-boot-docker:1.1.1 构建后的docker image的name与tag
  • ${project.basedir}/src/main/docker 指定Dockerfile文件位置

4.编辑Dockerfile

FROM java:8
MAINTAINER haopeng [email protected]
VOLUME /home/haopeng
ADD docker_base-0.0.1-SNAPSHOT.jar demo.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
  • 另外项目端口需要改为8080
  • 对Dockerfile里面的内容做一个简单的介绍:
 1.FROM:指明当前镜像继承的基镜像,编译当前镜像时候会自动下载基镜像
 2.MAINTAINER:当前镜像的作者和邮箱,使用空格隔开
 3.VOLUME:挂载目录
 4.ADD:从当前工作目录复制文件到镜像目录中并重新命名
 5.RUN:在当前镜像上执行Linux命令,这里我执行了2个run指令
 6.EXPOSE:监听的端口号
 7.ENTRYPOINT:让容器像一个可执行程序一样运行

5.构建Docker镜像

  • 执行 mvn clean package -DskipTests docker:build

  • 控制台出现 BUILD SUCCESS 标识构建成功

6.运行docker镜像

  • 连接到docker服务器docker images可以看到刚刚构建的镜像
  • 执行 docker run -d -p 8080:8080 --name docker-app spring-boot-docker:1.1.1
  • 返回容器id表示运行成功
  • 打开浏览器输入宿主机+端口访问项目


示例demo地址:https://gitee.com/hawawa/docker_base.git

你可能感兴趣的:(SpringBoot部署项目到Docker仓库)