1.安装doucker 给出快速车道安装docker,以及docker可视化工具
2.docker安装好之后,修改修改docker配置文件,开放2375端口,此端口适合内网开发环境,公网暴露端口很危险!别人可以入侵你的docker
具体配置文件位置:
如果是阿里云服务器,需要在阿里管控台安全组内开启2375端口,并且注意服务器防火墙是否关闭,开启的话,需要开启2375端口,才可访问
/usr/lib/systemd/system/docker.service
修改此行,开启2375端口,远程可访问docker
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
3.idea中安装docker插件,高版本idea都会自带docker插件,只需要连接docker服务器即可
例如
tcp://121.0.0.0:2375
5:配置docker-maven-plugin 插件,配置贴在下方,
此配置maven package 就会生成docker镜像,然后推送到服务器,打包完成,可使用docker images查看
idea中安装docker插件,maven中进行配置,推送docker镜像至服务器
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--no main manifest attribute, in /app.jar
项目基于maven pom多模块的开发的,需要设置goal-repackage属性为true,
否则打包后文件依赖文件没有一起打包,然后镜像内没有可以运行的程序文件
-->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!--指定生成的镜像名 前缀加项目artifactId坐标 -->
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<!--指定标签-->
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<!-- 基础镜像jdk 1.8-->
<baseImage>java</baseImage>
<!-- 制作者提供本人信息 -->
<maintainer>yanjun.liu</maintainer>
<!--切换到/ROOT目录 -->
<workdir>/ROOT</workdir>
<!-- <cmd>["java", "-version"]</cmd>-->
<entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>
<!-- 指定 Dockerfile 路径 ${project.basedir}:项目根路径下,这是第二种方式需要配置的-->
<!-- <dockerDirectory>${project.basedir}</dockerDirectory>-->
<!--指定远程 docker api地址-->
<dockerHost>http://0.0.0.0:2375</dockerHost>
<!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
<resources>
<resource>
<targetPath>/ROOT</targetPath>
<!--用于指定需要复制的根目录,${project.build.directory}表示target目 录-->
<directory>${project.build.directory}</directory>
<!--用于指定需要复制的文件。${project.build.finalName}.jar指的是打包 后的jar包文件。-->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<!-- 以下两行是为了docker push到DockerHub使用的。-->
<!-- <serverId>docker-hub</serverId>
<registryUrl>https://index.docker.io/v1</registryUrl>-->
</configuration>
<!--maven package 自动构建镜像到服务器 -->
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
插件安装成功,确保2375端口开放,即可连接docker
创建容器,运行
编辑容器名称。指定映射端口,即可启动容器
这种方式只适用于内网,外网暴露2375端口太不安全了,而且重新打包镜像目前镜像还不能覆盖上一次的镜像,所有用起来感觉有点麻烦,后面在考虑做升级吧,或者说用其他方式去部署,待更。。。。。
注意pom文件,镜像是根据你自己的定义方式进行镜像名称命名的。镜像名称不能有大写否则会报错哦!!!
告辞!