docker从安装到部署一个项目
一.centos安装docker
参考博客:https://blog.csdn.net/m0_47010003/article/details/127775185
1.设置一下下载Docker的镜像源
设置下载的镜像源为国内的阿里云,如果不设置,会默认去Docker的官方下载
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.安装Docker
首先,
下面这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度
yum makecache fast
提高安装速度以后,安装docker相关的。(docker-ce 社区版 而ee是企业版)
yum install docker-ce docker-ce-cli containerd.io
3.启动,并设置为开机自动启动,测试
3.1 启动Docker服务
systemctl start docker
3.2 设置开机自动启动
systemctl enable docker
3.3 测试
docker run hello-world
如果出现以下代码,说明运行成功:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qEEX2S28-1678243523307)(C:\Users\bangsun\Desktop\个人\docker\图片1.png)]](https://img-blog.csdnimg.cn/e6c6bd6865b04f51af6045bf8cfefc34.png)
二.阿里云镜像加速
1.登录阿里云账号:https://dev.aliyun.com
2.进入控制台

3.搜索:容器镜像服务

4.进入到这个界面:

5.官网教程(按步骤来)
1.sudo mkdir -p /etc/docker
2.sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://uo895hbl.mirror.aliyuncs.com"]
}
EOF
3.sudo systemctl daemon-reload
4.sudo systemctl restart docker
6.验证是否设置成功
1.输入docker info,以下情况即为替换成功

三.下载运行tomcat
1.可以去官方镜像网站https://hub.docker.com/搜索需要的镜像,这里我们下载tomact8.5的镜像,输入命令docker pull tomcat:8.5 镜像的后面为版本号,也可以为latest(最新),这里不推荐最新,可能会有很多坑

2.输入docker images 即可查看下载的镜像

3.运行镜像,输入命令
docker run -d -p 9090:8080 --name tomcat1 tomcat:8.5
-d :就是以后台运行方式运行 也可以 -t :以交互式运行
-p :暴露端口号第一个9090是暴露linux 的端口号,这样外部才能连接linux第二个端口号暴露的是容器的端口号,这样linux才能连接容器这样外部就能通过服务器访问容器了
--name:给容器取名
tomcat:8.5:运行时加上版本,指定是这个服务器
4.输入docker ps查看容器的状态

5.docker的tomcat镜像里webapps文件夹下没有东西,都被移动到webapps下的dist文件夹内了,这里我们把它移动到webapps文件夹下
输入命令,进入容器
docker exec -it tomcat1 /bin/bash
将文件夹webapps下的dist文件夹下的内容复制到webapps文件夹中
cp -r webapps.dist/* webapps

6.验证是否成功,打开浏览器,输入服务器的外网ip+设置的tomcat的port

访问成功,大功告成!
四.部署一个web项目
1.编写Dockerfile,我们需要建立一个dockerfile告诉docker需要做什么
1.1.首先创建一个空的项目目录
mkdir docker-demo
1.2.创建一个Dockerfile
touch Dockerfile
1.3.编写Dockerfile
FROM tomcat:8.5
MAINTAINER fwm 5120@qq.com
COPY ssm_yygh.war /usr/local/tomcat/webapps
| FROM 镜像 | 指定新镜像所基于的镜像,第一条指令必须为FROM指令,每创建一个镜像就需要一条FROM指令 |
|---|---|
| MAINTAINER 名字 | 说明新镜像的维护人信息 |
| COPY 源文件/目录 目标文件/目录 | 将本地主机上的文件/目录复制到目标地点,源文件/目录要与Dockerfile在相同目录中 |
2.开始构建镜像
2.1在 Dockerfile 文件的存放目录下,执行构建动作。
以下示例,通过目录下的 Dockerfile 构建一个 docker-demo:v1 (镜像名称:镜像标签)。
docker build -t docker-demo:v1 . #别忘记最后的点号,表示当前目录

2.2输入docker images,验证是否成功创建

3.运行镜像
3.1指定端口运行镜像
docker run -d -p 8085:8080 docker-demo --name docker-demov1
-d :就是以后台运行方式运行 也可以 -t :以交互式运行
-p :暴露端口号第一个8085是暴露linux 的端口号,这样外部才能连接linux第二个端口号暴露的是容器的端口号,这样linux才能连接容器这样外部就能通过服务器访问容器了
--name:给容器取名
docker-demo:运行时加上镜像,指定是这个服务器
3.2输入docker ps,验证是否成功运行

打开浏览器,输入ip+刚刚指定的端口+项目入口

可以看到,我们的项目已经部署成功了,只是目前报500错误,因为当前还没有部署mysql
工作太忙~后续继续更新mysql
相关文章:
docker从安装到部署一个项目
一.centos安装docker 参考博客:https://blog.csdn.net/m0_47010003/article/details/127775185 1.设置一下下载Docker的镜像源 设置下载的镜像源为国内的阿里云,如果不设置,会默认去Docker的官方下载 yum-config-manager --add-repo http…...
QT编程从入门到精通之十二:“第四章:Qt程序创建基础”之“4.1 创建基础程序”
目录 第四章:Qt程序创建基础 4.1 创建基础程序 4.1.1 新建一个项目...
黑客入门教程【非常详细】从零基础入门到精通,看这一篇就够了!
首先要明白啊,我们现在说的黑客不是那种窃取别人信息、攻击别人系统的黑客,说的是调试和分析计算机安全系统的网络安全工程师。 黑客技术的核心就是渗透攻防技术,是为了证明网络防御按照预期计划正常运行而提供的一种机制。就是通过模拟恶意…...
手机怎么远程控制腾讯云云服务器?
手机怎么远程控制腾讯云云服务器?腾讯云提供的连接:Windows系统。可以用远程桌面连接,你本地电脑点击,开始-运行-输入mstsc,弹出的框里,填IP和账号密码信息。 管理服务器上还会运行一个数据采集程序&#…...
dorcker与vlu靶场搭建
dorcker与vlu靶场搭建 dorcker安装 以kali linux 为例 安装必要的一些系统工具 apt update apt -y install apt-transport-https ca-certificates curl software-properties-common 添加Docker PGP key curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg …...
Unity性能优化 - Overdraw篇
一、什么是Overdraw Unity Overdraw(超绘)是指在渲染过程中绘制了超过一次相同像素的现象。当多个UI元素重叠时,每个像素都需要被多次绘制。这种绘制超出了渲染所需的最小像素数,因此被称为Overdraw。 二、都有哪些元素会导致Ov…...
Tp5操作mysql json函数
Tp5操作mysql json函数 官方文档介绍正常单个json数据更新没什么问题,但是某些情况可能一次修改多个,但是也不想全部替换 怎么处理?注意 :在源码中 项目\thinkphp\library\think\db\builder.php@parseData方法中 修改控制器调用:官方文档介绍 JSON字段 从V5.1.4+版本开始…...
【蓝桥杯嵌入式】PWM的设置,原理图解析与代码实现(第十一届省赛为例)——STM32
🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都在这儿哦,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 - 蓝…...
Learning C++ No.13【STL No.3】
引言: 北京时间:2023/3/7/15:33,还有27分钟就要去上课啦!刚刚把最近因为考试原因欠的课给还干净了,已经准备好今天晚上接受航哥的毒打了,毒打就毒打,咱不怕,只要不欠钱,…...
推荐收藏!10大程序员必备生产力工具
作为程序员,提高生产力是我们一直追求的目标。随着技术的发展,越来越多的工具和应用程序被开发出来,帮助程序员们更好地完成工作。在本文中,我将介绍一些程序员必备的生产力工具。 一、IDE(集成开发环境) …...
【项目总结】基于SSM+SpringBoot+Redis的个人博客系统项目总结
文章目录项目介绍(开发背景)数据库设计主要使用到的技术点前端后端自定义统一返回对象自定义拦截器加盐加密操作分页功能session持久化自定义头像的存储和获取项目编写过程中遇到的困难点困难点一(小)困难点二(小&…...
从入门到精通MongoDB数据库系列之一:MongoDB简介
从入门到精通MongoDB数据库系列之一:MongoDB简介 一、易于使用二、易于扩展三、功能丰富四、性能卓越五、设计理念MongoDB是功能强大、灵活且易于扩展的通用型数据库。融合了二级索引、范围查询、排序、聚合以及地理空间索引等诸多特性。 一、易于使用 MongoDB是面向文档的数…...
大数据系列——什么是hdfs?hdfs用来干什么的?
一、什么是HDFSHDFS全称是Hadoop Distributed File System是一种分布式文件系统(HDFS使用多台计算机存储文件,对外提供统一操作文件的接口)Hodoop使用HDFS(Hadoop Distributed File System)作为存储系统。二、hdfs用来干什么的用于大规模数据的分布式读写࿰…...
云端地球2月更新了这些功能,你都用过了吗?
时光飞逝、转眼已到2023年的第三个月,武汉的天气也逐渐转好,温度步步高升。云端地球产研团队的脚步也越走越快,虽然春节仿佛还是昨天的事,但云端地球已经完成了四次迭代,为广大建模爱好者带来了更多实用功能࿰…...
基于gin-vue-admin[gin+gorm]手动实现crud(全)
使用Gin-Vue- Admin框架手动实现crud 在gva框架下自己手动实现一个CRUD的操作,该操作将会结合gen进行探讨学习,具体实现可以看下面代码的实现,项目目录层级分为api层,service层,model层,common层ÿ…...
彻底关闭Windows10更新!!
以下四个步骤都需要执行。 一、禁用Windows Update服务 1、同时按下键盘 Win R,然后输入 services.msc ,点击确定。 2、找到 Windows Update 这一项,并双击打开。 3、双击打开它,点击 停止,把启动类型选为 禁用&…...
跨时钟域CDC
https://www.cnblogs.com/icparadigm/p/12794483.html https://www.cnblogs.com/icparadigm/p/12794422.html 亚稳态 是什么 时序逻辑在跳变时,由于异步信号、跨时钟域等原因,不满足setup或hold条件,输出在0和1之间产生振荡。 原因 D触发…...
JavaEE简单示例——Spring的控制反转
简单介绍: 在之前的入门程序中,我们简单的介绍了关于Spring框架中的控制反转的概念,这次我们就来详细的介绍和体验一下Spring中的控制反转的理论和实操。 使用方法: 控制反转(IoC)是面向对象编程中的一个…...
DBT 收购 Transform,指标平台已成现代数据栈关键拼图
今年 2 月初,现代数据技术栈独角兽 DBT 宣布完成对 Transform 的并购。在现代数据栈的体系中,DBT 和 Transform 都扮演着重要角色,DBT 侧重于整个分析链路上的数据转换处理,而 Transform 则聚焦在以指标为中心搭建业务分析应用。 …...
@Value注解取不到值的几种错误
在程序中使用了yml文件,然后把有些参数写在里面作为全局变量,在定时器里面使用,但是后来发现取不到: @Value("${spring.datasource.druid.master.url}") private String url; @Value("${spring.datasource.druid.master.driver-class-name}") private …...
如何实现SASM多语言支持:完整国际化配置与翻译指南
如何实现SASM多语言支持:完整国际化配置与翻译指南 【免费下载链接】SASM SASM - simple crossplatform IDE for NASM, MASM, GAS and FASM assembly languages 项目地址: https://gitcode.com/gh_mirrors/sa/SASM SASM(Simple Assembler IDE&…...
用MobaXterm替代传统终端的完整指南
Windows远程运维革命:用MobaXterm替代传统终端的完整指南 每次打开 PuTTY 时,你是否会对着那个灰暗的界面叹气?当需要在Xshell中频繁切换标签时,是否感到效率低下?作为Windows系统管理员或开发者,我们长期忍…...
《QGIS快速入门与应用基础》240:指北针旋转与大小调整
作者:翰墨之道,毕业于国际知名大学空间信息与计算机专业,获硕士学位,现任国内时空智能领域资深专家、CSDN知名技术博主。多年来深耕地理信息与时空智能核心技术研发,精通 QGIS、GrassGIS、OSG、OsgEarth、UE、Cesium、OpenLayers、Leaflet、MapBox 等主流工具与框架,兼具…...
OpenClaw定时任务管理:Qwen3.5-4B-Claude模型驱动智能提醒系统
OpenClaw定时任务管理:Qwen3.5-4B-Claude模型驱动智能提醒系统 1. 为什么需要AI驱动的定时任务系统 上个月我连续错过了三个重要会议,直到同事发消息询问"人到哪了"才猛然惊醒。这种尴尬促使我开始寻找解决方案——传统日历提醒太被动&#…...
无公网IP解决方案:OpenClaw+nanobot内网穿透配置
无公网IP解决方案:OpenClawnanobot内网穿透配置 1. 为什么需要内网穿透? 去年我在尝试将OpenClaw接入家庭NAS时遇到了一个典型问题:没有公网IP。这意味着我无法在外网直接访问部署在家里的nanobot服务。经过多次尝试,最终通过内…...
CosyVoice Docker 部署优化:如何有效降低 CPU 占用率
在语音合成服务日益普及的今天,CosyVoice 凭借其出色的音质和灵活性,成为了许多开发者的选择。然而,当我们将它部署到 Docker 容器中时,一个普遍且棘手的问题随之而来:CPU 占用率居高不下。这不仅导致服务器资源成本飙…...
ChatGPT文档上传安全指南:如何避免敏感信息泄露
ChatGPT文档上传安全指南:如何避免敏感信息泄露 在当今AI应用开发热潮中,将文档上传至ChatGPT等大语言模型进行内容分析、总结或问答,已成为提升工作效率的常见场景。然而,许多开发者在兴奋地集成这一强大功能时,往往…...
MySQL安全加固十大硬核操作
MySQL安全加固十大硬核操作大纲数据库访问控制限制数据库的访问权限,仅允许授权用户和IP访问。修改MySQL配置文件中的bind-address参数,确保仅监听必要的网络接口。强化root账户安全禁止root账户远程登录,创建具有特定权限的替代管理账户。修…...
Pixel Fashion Atelier入门必看:Forge!按钮物理位移反馈的CSS3实现原理
Pixel Fashion Atelier入门必看:Forge!按钮物理位移反馈的CSS3实现原理 1. 引言:像素世界的物理交互 在Pixel Fashion Atelier这款独特的图像生成工具中,最令人印象深刻的莫过于那个醒目的橙色"锻造"按钮。当用户点击时ÿ…...
解构 Claude Code
大多数开发者认为 AI 编码工具就是一个聊天界面。你输入,它回复。你复制代码。你继续前进。 Claude Code 完全不同。 1、传统方式 vs Claude Code 方式 想象雇佣一位聪明的开发者,他他* 每次关闭对话就忘记一切 不知道自己在什么项目除非你每次都描述…...
