【Docker】IDEA Docker插件 SpringBoot 容器化部署

概述

本章内容主要描述如何将springboot服务构建成Docker镜像,并部署到远程容器。

常用容器操作命令:

https://mp.csdn.net/mp_blog/creation/editor/126367003

常用服务中间件docker安装:

https://mp.csdn.net/mp_blog/creation/editor/126367039

Docker开放2375端口,实现远程访问

# 验证下docker 2375 端口是否启动 如果未启动,则继续配置本步骤

# 本地环境可关闭防火墙  测试环境开放端口访问权限

[root@kgtdev spring-boot-docker-project]# netstat -antp | grep 2375
tcp6       0      0 :::2375                 :::*                    LISTEN      7968/dockerd 

# 查看下服务文件在哪个位置

systemctl status docker.service

# 我本机该目录下的service文件是不存在的为空

【Docker】IDEA Docker插件 SpringBoot 容器化部署_第1张图片

# 全服检索  
[root@kgtdev spring-boot-docker-project]# find / -name docker.service
/sys/fs/cgroup/cpu,cpuacct/system.slice/docker.service
/sys/fs/cgroup/pids/system.slice/docker.service
/sys/fs/cgroup/memory/system.slice/docker.service
/sys/fs/cgroup/blkio/system.slice/docker.service
/sys/fs/cgroup/devices/system.slice/docker.service
/sys/fs/cgroup/systemd/system.slice/docker.service
/etc/systemd/system/multi-user.target.wants/docker.service
find: ‘/proc/7910’: 没有那个文件或目录
/usr/lib/systemd/docker.service
/usr/lib/systemd/system/docker.service

# /etc/systemd/system/multi-user.target.wants/docker.service
# 我的在这个位置有,内容如下


[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash

ExecStart=/usr/bin/dockerd $OPTIONS \
                           $DOCKER_STORAGE_OPTIONS \
                           $DOCKER_NETWORK_OPTIONS \
                           $INSECURE_REGISTRY
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process

[Install]
WantedBy=multi-user.target

在ExecStart行后面追加以下内容

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

重新载入服务信息

systemctl daemon-reload

重启docker服务

systemctl restart docker.service

查看端口是否开启

netstat -nlpt

Idea 安装Docker 插件

【Docker】IDEA Docker插件 SpringBoot 容器化部署_第2张图片

 【Docker】IDEA Docker插件 SpringBoot 容器化部署_第3张图片

 【Docker】IDEA Docker插件 SpringBoot 容器化部署_第4张图片

项目配置 

pom.xml ,新增docker-maven-plugin 插件打包配置

  
            
                com.spotify
                docker-maven-plugin
                1.0.0
                
                    
                    ${project.artifactId}
                    
                    
                        latest
                    
                    
                    java
                    
                    
                    
                    /ROOT
                    ["java", "-version"]
                    ["java", "-jar", "${project.build.finalName}.jar"]
                    
                    
                    
                    http://192.168.208.80:2375
                    
                    
                        
                            /ROOT
                            
                            ${project.build.directory}
                            
                            ${project.build.finalName}.jar
                        
                    
                
            

 执行docker build之前,需要先打包项目package一下,再docker:build

【Docker】IDEA Docker插件 SpringBoot 容器化部署_第5张图片

 此时再去services Docker 下查看,会发现刚构建的容器已经推到服务器上了

【Docker】IDEA Docker插件 SpringBoot 容器化部署_第6张图片

# docker run -p 8099:8080 -t springboot_vue_blog:latest

# 可以进入容器,通过命令启动,也可以直接在idea中配置Docker

【Docker】IDEA Docker插件 SpringBoot 容器化部署_第7张图片

 

【Docker】IDEA Docker插件 SpringBoot 容器化部署_第8张图片

 

 

你可能感兴趣的:(docker,工具使用,docker,运维,容器)