之前在公司都是自动打包部署到远程docker上,也没有考虑过怎么搞的,今天在公司内网docker 上测试,跟同事学习了下,记录一下分享,day day up !!!!!, 开始吧。
1、安装docker插件
这步我不记得有没有安装,因为我使用的是商业版,可以看下你是不是安装了
打开setting-->plugins-->搜索docker-->点击install
这个插件是可视化的管理docker
pom中增加下面的配置
-
<build>
-
<finalName>ccp-data-SNAPSHOT
</finalName>
-
<plugins>
-
<plugin>
-
<groupId>org.springframework.boot
</groupId>
-
<artifactId>spring-boot-maven-plugin
</artifactId>
-
<configuration>
-
<fork>true
</fork>
-
<mainClass>com.tyjt.ccpdata.CcpDataApplication
</mainClass>
-
</configuration>
-
<executions>
-
<execution>
-
<goals>
-
<goal>repackage
</goal>
-
</goals>
-
</execution>
-
</executions>
-
</plugin>
-
</plugins>
-
<resources>
-
<resource>
-
<directory>src/main/resources
</directory>
-
<filtering>true
</filtering>
-
</resource>
-
</resources>
-
</build>
2、docker 开启远程访问
因为要在远程管理docker,所以需要打开远程访问权限,
修改docker.service
配置地址: /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
这里开启远程端口为2375
3、idea中配置docker 连接
想要管理远程的docker 的服务器,file->setting->build -> Docker ,增加一个配置,
name 随便起,最主要的是TCP 连接属性
填写完成之后会有提示连接成功,这个时候你已经可以管理远程的docker了
在控制台 service窗口可以看到远程的信息了
docker-compose 是docker-compose启动的服务
containers 是docker 上正在运行的服务
Images 是docker上有的机器
Networks 是每个服务的网络
Volumes 是每个服务的挂载
4、部署本地项目到docker
4.1 创建dockerfile
创建一个springboot项目,在项目中创建dockerfile
-
# 基础镜像
-
FROM tyjt-java11-agent:latest
-
# 默认工作空间
-
VOLUME /tmp
-
WORKDIR /opt/tyjt
-
# 复制为ccp-data-0.0.1-SNAPSHOT.jar
-
ADD target/ccp-data-SNAPSHOT.jar /opt/tyjt/ccp-data-SNAPSHOT.jar
-
ADD run.sh /opt/tyjt/run.sh
-
# RUN bash -c 'touch /ccp-data-SNAPSHOT.jar'
-
# 时钟
-
RUN
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
#port
-
EXPOSE 10801
-
#执行
-
ENTRYPOINT [
"bash",
"/opt/tyjt/run.sh"]
执行的脚本如下
-
#/bin/bash
-
PROFILE=
$ENV
-
java -jar /opt/tyjt/ccp-data-SNAPSHOT.jar
4.2 创建docker 配置
通过edit-configration,添加一个docker的运行配置
点击modify 可以做端口映射,相当于docker run中的p命令
这里在运行之前做了一个maven的打包工作
clean package -U -DskipTests
4.3 运行起来看看效果
点击运行可以看到下面的日志,同时也能看到项目的启动日志
可以登录到docker 所在机器看下运行的容器
已经部署上去了
注意: 如果部署不上去,提示Failed to deploy,可能是因为权限不够,使用管理员权限打开idea
5、总结
这只是一个工具的使用,虽然很方便,但是在我们日常的开发中很少这么用,因为我们都是CI 一键部署,几乎不使用这种方式
转载:https://blog.csdn.net/perfect2011/article/details/127211510