浅析SpringBoot打包上传到docker并实现多实例部署(IDEA版)
作者:houyuSource 发布时间:2023-11-03 14:34:58
最近有一个朋友问我有没有玩过docker,回答起来底气不是很足 ^ - ^ (刚开始玩cloud的时候接触过,玩过一会,后面在实际开发中比较少用,所以基本上可以说是忘记了.),今天花了点时间整理之前的笔记以及整理走一个流程,记录一下吧,下次玩得时候C V 就好啦~
1. Docker的安装以及开启远程访问
1.1 安装
# 检查虚拟机内核版本,必须是3.10及以上
uname -r
# 安装docker
yum install docker
# 输入y确认安装
# 启动docker
systemctl start docker
# 查看docker版本
docker -v
# 开机启动docker
systemctl enable docker
# 停止docker
systemctl stop docker
# 重启docker
systemctl restart docker
1.2 开启远程访问
修改文件 docker.service
vim /usr/lib/systemd/system/docker.service
修改ExecStart这行
#ExecStart=/usr/bin/dockerd -H fd://–containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
# 重新加载配置文件
systemctl daemon-reload
# 重启服务
systemctl restart docker.service
# 查看端口是否开启 (如果是阿里云等服务器,需要 "安全" -> "防火墙" 开启端口2375)
netstat -nlpt
# 查看是否生效
curl http://127.0.0.1:2375/info
2. IDEA 安装 docker 插件并且连接
2.1 安装插件
这个很简单,就一步一步截图了。。。(这个谁呀,怎么使用汉化的的 IDEA 呀~~)
2.2 连接docker
3. 打jar包并且编写Dockerfile打jar这个在这里不赘述。。。编写Dockerfile,注意一下划线的地方,然后注意修改一下
FROM java:8
# 维护者信息
MAINTAINER houyu
# 这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层
VOLUME /tmp
# 复制上下文目录下的 /build/libs/fastboot-0.0.1.jar 到容器里
COPY /build/libs/fastboot-0.0.1.jar fastboot-0.0.1.jar
# bash方式执行,使fastboot-0.0.1.jar可访问
# RUN新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。
RUN bash -c "touch /fastboot-0.0.1.jar"
# 指定时区
# ENV TZ='Asia/Shanghai'
# 声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
EXPOSE 10007
# 指定容器启动程序及参数 <ENTRYPOINT> "<CMD>"
ENTRYPOINT ["java","-jar","fastboot-0.0.1.jar", "--spring.profiles.active=prod"]
4. IDEA 配置构建镜像
4.1 配置运行脚本
4.2 运行脚本
5. 宿主机查看镜像并且确认部署成功
6. 部署多实例
具体的命令在后面:
操作脚本
# 查看镜像
docker images
# 查看安装的容器
docker ps -a
# 克隆c1726e8f3819镜像 安装成为一个fb1.2的容器
# -d:后台运行
# -p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
docker run --name fb1.2 -d -p 10008:10007 c1726e8f3819
# 查看安装的容器
docker ps -a
# 查看运行中的容器
docker ps
# 验证fb1.1
curl 127.0.0.1:10007
# 验证fb1.2
curl 127.0.0.1:10008
常用的docker命令(私人美酒)
1)、镜像操作(https://hub.docker.com/)
1、检索镜像的详细信息,如镜像的TAG。
docker search 镜像关键字 如:docker search redis
2、拉取镜像(:tag是可选的,tag表示标签,多为软件的版本,默认是latest)
docker pull registry.docker-cn.com/library/redis:5.0.3 加速拉取
docker pull 加速地址+镜像名:tag 如:docker pull redis:5.0.3
3、查看所有本地镜像
docker images
4、删除指定的本地镜像
docker rmi 镜像Id或名称 如:docker rmi Tomcat
5、重命名镜像
docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
2)、容器操作(软件镜像----运行镜像----产生一个容器)
1、搜索镜像
docker search tomcat
2、拉取镜像(:tag是可选的,tag表示标签,多为软件的版本,默认是latest)
docker pull tomcat:latest
3、根据镜像启动容器(latest可以省略,其他标签一定要加上)
-d:后台运行
-p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
docker run --name 别名 -d 主机端口:容器内部的端口 REPOSITORY/IMAGE ID
如:docker run --name mytomcat -d 8080:8080 tomcat:latest
3.1 重启容器
docker restart 容器名称/ID
4、查看运行中的容器
docker ps
5、查看所有已安装的容器
docker ps -a
6、停止运行中的容器
docker stop 容器的id/名称
7、启动容器
docker start 容器的id/名称
8、删除一个容器
docker rm 容器的id/名称
9、查看容器的日志
docker logs container-name/container-id(容器名称或容器ID)
10、进入指定容器空间
docker exec -it 容器名称/ID /bin/bash
如:docker exec -it tensquare_es /bin/bash
7. 安全问题请不要在线上环境开启docker远程访问,否则可能会被当做肉机
具体可阅 Docker暴露2375端口导致服务器被攻击解决方法!
来源:https://blog.csdn.net/JinglongSource/article/details/105802485
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。本文收集裸设备和Oracle问答20例。
- 前两日,雷军被传离开金山集团,我即兴写了点感想文字。文中大胆分析雷军离开的原因关键在于和求总在战略发展上存在分歧,文章末尾还预测了雷军下一步
- 核心提示: 据研究,首屏的广告点击率远高于第二屏的广告,所以您应该尽量把AdSense 广告放在网页的首屏,这可以给您带来更高的广告收入。生
- discuz已经是大多数站长的最爱,因为他太强大了,不懂技术的站长也能用他做出很棒的网站,但是要与众不同突出自己的个性就要用到里面的DIY功
- 网页游戏又称Web游戏,无需庞大的客户端,打开浏览器即可进行游戏。近年来网页游戏发展势头迅猛,玩家也是越来越喜爱和认可网页游戏。开发一款网页
- 服务器数据存储安全是保障服务器正常运行的重要的环节,同时也是企业网络信息化建设的核心。每一家企业的管理层人员都非常重视存储在服务器的重要数据
- UUCall被誉为网络电话第一品牌,10月初意外关闭 (腾讯科技配图)10月12日早间消息,UUCall负责人汪先生昨日接受腾讯科技独家专访
- 创办4年的轻博客Tumblr已经在博客数量上超越了已经创办8年的传统博客平台 WordPress今年一月,Tumblr有着700万轻博客。但
- 我们需要在 Apache/conf/extra/ 目录下建立一个 httpd-vhosts.conf 这样的文件。文件内容如下:# ../v
- 老谢为大大小小的企业写了很多的网站推广计划书,一些经验分享给大家。一、网站推广目标加法资源网是韶关市加法机电实业公司主办的一个富有创意的全新
- 由于多数是国内空间转国外空间的朋友,所以碰到最多的问题集中在对WHM+cPanel使用上的不了解,而WHM+cPanel的这种集众多功能于一
- DedeCMS系统V5.7版本默认的文档标题长度仍然有60的限制(30个汉字),可能对于有些长标题或者英文标题不够用。修改下DedeCMS文
- 昨天看到有朋友说用tar包安装的vsftp不能用本地用户登录,感觉十分诧异。但自己也仅做过rpm的,所以没有发言权。今天在自己机器上用tar
- 文字一出各路诸侯杀出,一个措手不及待吾友商发布!前不久视觉组同事们讨论了一个老话题 — 网站图片格式问题和对性能产生的影响其实大家每天都与图
- Sendmail作为免费的邮件服务器软件,已被广泛应用于Internet各种操作系统的服务器中。如:Solaris,HPUX,AIX,IRI
- 1. 创建自己的404.html页面 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors
- 对于Web应用来说,注射式攻击由来已久,攻击方式也五花八门,常见的攻击方式有SQL注射、命令注射以及新近才出现的XPath注射等等。本文将以
- SupeSite 7.0 全面支持对 Discuz!、UCenter Home的聚合功能。Tools工具箱是为了方便广大站长日常维护应用程序
- 北京时间6月28日消息,美国谷歌公司开始在放置搜索广告方面使用用户最近搜索历史的信息,虽然广告的针对性有所提到,但是这将引发有关谷歌如何保护
- Web安全网关是Gartner在其2008年的报告中所重点提及的边界应用安全网关。其主要功能包括防病毒、URL过滤、Internet应用控制