最后
由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。
本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。
修改后的配置如下:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock2、刷新配置重启服务
systemctl daemon-reload
systemctl restart docker
开放防火墙
开放防火墙2375端口, 2375端口是自己上面绑定的,可以根据自己需要进行调整
firewall-cmd --zone=public --add-port=2375/tcp --permanent
更新配置信息(这样就不需要重启防火墙了)
firewall-cmd --reload
查看服务器开放端口
netstat -tlun
项目层面配置
项目pom文件引入插件
添加maven-compiler-plugin插件如下
<build>
<!-- install后的jar包名称 -->
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.2</version>
<configuration>
<!-- 镜像名称,相当于执行docker build -t 命令后面跟的镜像名称 -->
<imageName>shr/${project.artifactId}</imageName>
<!-- Dockerfile文件存放目录 -->
<dockerDirectory>src/main/docker</dockerDirectory>
<!-- docker远程服务器地址 -->
<dockerHost>http://192.168.68.68:2375</dockerHost>
<!--指定pem证书文件路径地址 -->
<dockerCertPath>${project.basedir}docker-pem</dockerCertPath>
<!-- 指定tag版本 -->
<!--<imageTags>
<imageTag>1.0</imageTag>
</imageTags>-->
<!-- build 时强制覆盖 tag,配合 imageTags 使用-->
<!--<forceTags>true</forceTags>-->
<!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
<executions>
<!-- 执行mvn install时,执行 build、tag 操作-->
<execution>
<id>build-image</id>
<phase>install</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
<!-- tag 用于给镜像打标签-->
<!--<execution>
<id>tag-image</id>
<phase>package</phase>
<goals>
<goal>tag</goal>
</goals>
<configuration>
<image>${project.artifactId}:latest</image>
<newName>${project.artifactId}:${project.version}</newName>
</configuration>
</execution>-->
<!-- maven执行deploy时push镜像 -->
<!--<execution>
<id>push-image</id>
<phase>deploy</phase>
<goals>
<goal>push</goal>
</goals>
<configuration>
<imageName>${project.artifactId}:${project.version}</imageName>
</configuration>
</execution>-->
</executions>
</plugin>
</plugins>
</build>
比较重要的参数含义如下
dockerHost: docker所在的服务器地址
dockerDirectory: dockerFile文件路径,也就是下面所要说的
dockerCertPath: 安全证书路径,这是为了安全的, 非必须,如果需要自行查找资料
写在最后
学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!
最后再分享的一些BATJ等大厂20、21年的面试题,把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。
Mybatis面试专题
MySQL面试专题
并发编程面试专题
并发编程面试专题