(十四) 使用Docker 部署 spring boot 项目

一、配置Docker 远程访问

  1. 修改docker.service 文件

vim /usr/lib/systemd/system/docker.service

  2. 找到 ExecStart,添加参数

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

        

  3. 重启docker 

systemctl restart docker

  注:如遇 Warning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.  

              执行systemctl daemon-reload ,然后再重启Docker

  4. 使用浏览器访问 http://Docker IP:2375/version  如果有信息,则成功。

二、下载 Docker Compose  ,下载完成后放在/usr/local/bin/目录。参考:官方文档

  1. 下载Docker Compose

sudo curl -L https://github.com/docker/compose/releases/download/1.23.0-rc3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

  2. 安装 Docker Compose

sudo chmod +x /usr/local/bin/docker-compose

  3. 查看 Docker compose 版本

docker-compose -version

 三、部署 spring boot 项目

  1. 自己创建一个简单的springboot项目  测试项目传送门 

  注:如果使用本测试项目,测试时请修改 pom文件Docker插件中的dockerHost标签,改为自己的DockerIP。

  2. 在项目找那个创建Dockerfile文件,并放在src/mian/docker 目录下,文件内容如下

#来自于哪个基层镜像
FROM java:8
#将宿主机文件夹挂载到容器
VOLUME /app
ADD docker-springboot-test-0.0.1-SNAPSHOT.jar docker-springboot-test.jar
RUN bash -c 'touch /docker-springboot-test.jar'
#容器启动后启动springboot项目
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","docker-springboot-test.jar"]

  3. 在pom文件中增加docker 插件

    *  imageName          镜像名称

    * dockerDirectory     Dockerfile路径

    * dockerHost           Docker 主机地址

         <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.14</version>
                <configuration>
                    <imageName>qizhi-docker-springboot</imageName>
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <dockerHost>http:// IP 地址:2375</dockerHost>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

 

  4. 推送镜像到docker

    4.1  第一种方式: 在工程根目录使用打开CMD命令窗口执行 

clean package docker:build -DskipTests

    4.2  第二种方式: 使用idea 插件管理,点击docker bulid

    

  5. 在Docker 服务器中查看镜像,并运行访问

    5.1 查看镜像

    

    5.2 运行 docker-springboot-test 项目并访问

    

    

 

posted @ 2019-08-05 17:57  时光,  阅读(402)  评论(0编辑  收藏  举报