脚本宝典收集整理的这篇文章主要介绍了SpringBoot打包到docker(idea+传统方式),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
vim /usr/lib/systemd/System/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://VAR/run/docker.sock
systemctl daemon-reload // 1,加载docker守护线程
systemctl restart docker // 2,重启docker
netstat -nlpt
curl http://127.0.0.1:2375/version
{"Platform":{"Name":"Docker Engine - CommUnity"},"components":[{"Name":"Engine","Version":"20.10.6","Details":{"ApiVersion":"1.41","Arch":"amd64","BuildTime":"2021-04-09T22:43:57.000000000+00:00","Experimental":"false","GITCommit":"8728dd2","GoVersion":"go1.13.15","KernelVersion":"3.10.0-1127.19.1.el7.x86_64","MinAPIVersion":"1.12","Os":"linux"}},{"Name":"containerd","Version":"1.4.4","Details":{"GitCommit":"05f951a3781f4f2c1911b05e61c160e9c30eaa8e"}},{"Name":"runc","Version":"1.0.0-rc93","Details":{"GitCommit":"12644e614e25b05da6fd08a38ffa0CFe1903fdec"}},{"Name":"docker-init","Version":"0.19.0","Details":{"GitCommit":"de40ad0"}}],"Version":"20.10.6","ApiVersion":"1.41","MinAPIVersion":"1.12","GitCommit":"8728dd2","GoVersion":"go1.13.15","Os":"linux","Arch":"amd64","KernelVersion":"3.10.0-1127.19.1.el7.x86_64","BuildTime":"2021-04-09T22:43:57.000000000+00:00"}
1. 命令模式下,输入:/字符串
比如搜索user, 输入/user
2. 查看下一个匹配,按下n(小写n)
3. 跳转到上一个匹配,按下N(大写N)
4. 搜索后,我们打开别的文件,发现也被高亮了,怎么关闭高亮?
命令模式下,
输入:nohlsearch
也可以:set nohlsearch
当然,可以简写:
noh
或者 set noh。
然后会在service窗口中出现
点击左上角运行就能看到服务器上已经在的容器
<PRoPErties>
<java.version>1.8</java.version>
<!-- Step.1 设置docker镜像前缀-->
<docker.image.prefix>jinsc</docker.image.prefix>
</properties>
<!-- Step.2 添加插件-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!--远程docker地址-->
<dockerHost>http://x.x.x.x:2375</dockerHost>
<!--镜像名称,前缀/项目名-->
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<!--dockerFile的位置-->
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<!--默认的target文件夹位置-->
<directory>${project.build.directory}</directory>
<!--最终名称.jar-->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
Dockerfile
From java:8
VOLUME /tmp
ADD provider-0.0.1-sNAPSHOT.jar /test.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/test.jar"]
其中 provider-0.0.1-SNAPSHOT.jar是打出来的jar包名字
maven的clean+package
在运行插件中docker的build
就能远程推送到远端
//镜像id
Successfully built 13b4c048a7e6
// 项目名和版本号
Successfully tagged jinsc/provider:latest
[INFO] Built jinsc/provider
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] total time: 52.797 s
[INFO] Finished at: 2021-10-22T15:07:58+08:00
[INFO] ------------------------------------------------------------------------
连上服务器,已经有了
点击运行就已经创建了
访问就有了
我这里是ws测试地址
用写的客户端已经连接并解析到
[root@VM-0-9-centos /]# cd usr/local/
[root@VM-0-9-centos local]# ls
bin etc games include lib lib64 libexec qcloud sbin share src yd.socket.server
[root@VM-0-9-centos local]# mkdir docker
[root@VM-0-9-centos local]# ls
bin docker etc games include lib lib64 libexec qcloud sbin share src yd.socket.server
[root@VM-0-9-centos local]# cd docker/
[root@VM-0-9-centos docker]# ls
[root@VM-0-9-centos docker]# mkdir SB4WS
[root@VM-0-9-centos docker]# ls
SB4WS
[root@VM-0-9-centos docker]#
vim Dockerfile
From java:8
VOLUME /tmp
ADD provider-0.0.1-SNAPSHOT.jar /provider.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/provider.jar"]
意思分别是
FROM :
表示基础镜像.运行环境
VOLUME /tmp:
是创建tmp目录并持久化到Docker数据文件夹,因为sb使用的是内嵌的Tomcat,默认使用/tmp作为工作目录
ADD:
拷贝文件并重命名,就是把前面的复制到后面的
EXPOSE :
并不是正真的发布端口,这个只是容器部署人员和建立image人员之间的交流,即简历image的人员告诉容器部署人员容器应该映射哪个端口给外界
ENTRYPOINT(入口点):
容器启动时运行的命令 ,相当于在命令行中输入 java -jar xxx.jar,为了缩短Tomcat 的启动时间,添加java.security.egd的系统属性指向 /dev/./urandom 作为ENTRYPOINT
docker build -t provider .
已经ok
docker run -d --rm --name provider-8080 -p 8080:8080 provider
PS 另一个(可以部署多个容器) 外网的:程序定的
docker run -d --rm --name provider-8081 -p 8081:8080 provider
docker LOGs -f --tail=500 provide-8080
docker exec -it 96f93cc3b918 bash
实际在使用过程中,运行 apt-get update,然后执行 apt-get install -y vim,下载地址由于是海外地址,下载速度异常慢而且可能中断更新流程,所以做下面配置
mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo "deb http://mirrors.163.COM/Debian/ jessie main non-free contrib" >> /etc/apt/sources.list
echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
apt-get update
apt-get install vim
以上是脚本宝典为你收集整理的SpringBoot打包到docker(idea+传统方式)全部内容,希望文章能够帮你解决SpringBoot打包到docker(idea+传统方式)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。