Part1.设置docker可连接
A. 编辑docker的文件允许远程连接
vi /usr/lib/systemd/system/docker.service
找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,如图
image.png
B.重启docker
systemctl daemon-reload
systemctl restart docker
Part2.设置Linux的防火墙
firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd –reload
Part3.阿里云安全组
A.打开阿里云配置列表
image.png
B.点击阿里云配置规则
image.png
C.点击添加安全组规则
image.png
D.添加规则
image.png
Part4.测试docker是否可以连接
--使用工具:IDEA 2019.3
A.打开IDEA的设置
File----->Settings---->搜索Docker--->点击+号--->填写服务器IP
image.png
Part5.编写Dockerfile文件(仅适用于springboot类型的项目,Dockerfile文件跟target文件的层级一样)
A.目录结构
image.png
B.Dockerfile内容
FROM java:8
ADD target/项目打包jar包.jar 目标名称一般跟项目打包jar包名称一致.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","目标名称一般跟项目打包jar包名称一致.jar"]
C.pom添加插件
<build>
<plugins>
......
<!--docker部署-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
Part6.docker中部署项目
A.编辑规则
image.png image.png image.png
B.点击运行按钮远程部署
image.png
part7.开放容器中的项目要连接的端口
过程与Part2、Part3基本一致,只是端口不同而已
part8.容器启动出错查看出错日志
docker logs -f --tail=100 容器名称
这里存在一个风险的,如果别人知道你的Ip,那么意味着他也可以通过docker的端口部署一个项目到你的服务器上,因为从一键部署到上面是没有经过安全验证的,所以别人可以通过项目执行命令行下载恶意的代码,所以阿里云配置安全组的时候,最好填写的是静态Ip,IP是动态变化的话还是不要随意用docker一键部署;
原创文章,转载请注明出处:https://www.jianshu.com/p/263ff45f9628
网友评论