- 首先需要再IDEA的setting里面安装Docker插件
安装完成以后,重启IDEA
- 配置Docker连接地址
打开 settings ,找到Build-Docker,点击加号,增加一个Docker,输入Docker服务器的地址,会自动测试,如果连接失败,请往下看 Docker服务开启允许外部访问 。
IDEA配置Docker.png- 配置成功以后,在工具栏选择Docker窗口,启动docker客户端
Docker服务开启允许外部访问
如果你的Docker服务已经允许外部访问,请忽略。
网上很多访问,眼睛都看花了,我实际操作使用了如下方法,证明可行
- 新建 docker-tcp.socket 配置文件
vi /etc/systemd/system/docker-tcp.socket
输入以下参数
[Unit]
Description=Docker Socket for the API
[Socket]
# ListenStream=127.0.0.1:2375
ListenStream=2375
BindIPv6Only=both
Service=docker.service
[Install]
WantedBy=sockets.target
-
重启服务
这个重启的顺序不能错,需要先启动docker-tcp.socket,然后再启动Docker
systemctl daemon-reload
systemctl enable docker-tcp.socket
systemctl stop docker
systemctl start docker-tcp.socket
systemctl start docker
- 开放2375端口、关闭防火墙
firewall-cmd --permanent --zone=public --add-port=2375/tcp
查看端口
firewall-cmd --permanent --zone=public --list-ports
关闭/开启防火墙的命令(只需要输入第一命令即可)
systemctl stop firewalld.service
systemctl start firewalld.service
-
进行测试
可通过远程客户端或者IDEA进行测试。如果是已安装Docker客户端的机器,可以输入以下命令
docker -H 192.168.1.163 info
出现以下参数认为成功
Containers: 4
Running: 4
Paused: 0
Stopped: 0
......
IDEA打包SpringBoot项目
- 在项目根路径下建议Dockerfile文件(放到跟目录的时候,打包时可以不需要另行拷贝jar包),写入如下内容:
FROM java:8
VOLUME /tmp
ADD /target/testDemo.jar app.jar
EXPOSE 8090
ENTRYPOINT ["java","-jar","/app.jar"]
参数说明:
FROM: 表示从哪个Docker镜像开始制作
VOLUME:临时文件夹
ADD:拷贝第一个文件存到镜像里面,存储的名称为第二个文件名。上面的意思把/target/testDemo.jar文件拷贝到镜像里面,文件名称改为app.jar
EXPOSE:镜像使用端口
ENTRYPOINT:镜像运行时的运行命令
-
新建一个Docker启动项
需要设置Dockerfile文件,端口映射。另外还需要建立一个maven运行脚本(打包jar)
maven脚本的命令如下
clean package -Dmaven.test.skip=true
-
配置完成以后,可以启动我们配置的Docker启动项,进行打包 部署
如果配置都正确,就会在控制台看到如下的输出,如果没有下载过java :8的docker镜像,会需要点时间下载。
Creating container...
Container Id: 5ad2f845bc564a4364c603b14722635ade9609689b2f4ca2a286c6d5a21141d5
Container name: 'testDemo'
Attaching to container 'testDemo'...
Starting container 'testDemo'
'testDemo Dockerfile: Dockerfile' has been deployed successfully.
Deploying 'testDemo Dockerfile: Dockerfile'...
Building image...
Step 1/5 : FROM java:8
---> d23bdf5b1b1b
Step 2/5 : VOLUME /tmp
按我们配置的步骤,完成打包以后,会自动上传到我们的Docker服务器。
-
在Docker服务上,查看镜像
运行命令
docker ps
查看我们的应用。
docker启动.png-
访问项目
如果应用比较正常,这个时候就可以通过浏览器访问应用了。
网友评论