docker从安装到部署一个项目

news2024/11/17 11:40:47

一.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)]

二.阿里云镜像加速

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/398710.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

飞桨携手Hugging Face共建开源社区,文图生成黑科技画你所想!

最近的 AIGC 有多火&#xff0c;你不会不知道吧&#xff1f; AI绘画收到越来越多关注的同时&#xff0c;你想不想自己试试&#xff1f;如何基于开源项目训练自己的趣味模型&#xff0c;开源出来被更多人看到&#xff1f; 在这个人人都是创作家的时代&#xff0c;你可以脑洞大开…

element ui 的滚动条,Element UI 文档中没有被提到的滚动条

element ui 的滚动条,Element UI 文档中被提到的滚动条 Element UI 官网中有用到自定义的滚动条组件&#xff0c;但是发布的所有版本中都不曾提及&#xff0c;个中原因我们不得而知&#xff0c;不过我们还是可以拿过来引用到自己的项目中。 使用的时候&#xff0c; 放在 <el…

【C++】关于C++模板的分离编译问题

文章目录1.阐述模板的实例化和重复定义问题2.分离编译可能出现的问题3.解决方法将函数模板的定义放到头文件中模板定义的位置显式实例化模板总结1.阐述模板的实例化和重复定义问题 C模板是一种非常强大的工具&#xff0c;可以为我们提供通用的代码实现方式。然鹅&#xff0c;在…

Ajax和JSON的基本用法

局部请求页面不会变化&#xff0c;返回的响应我们要动态获取&#xff0c;获取后选择数据更新区域。<body> <input id"btnLoad" type"button" value"加载"> <div id"divContent"></div> <script>//获取点…

三天吃透Kafka面试八股文

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点&#xff0c;欢迎star~ Github地址&#xff1a;https://github.com/…

前端开发者必备的Nginx知识

nginx在应用程序中的作用 解决跨域请求过滤配置gzip负载均衡静态资源服务器…nginx是一个高性能的HTTP和反向代理服务器&#xff0c;也是一个通用的TCP/UDP代理服务器&#xff0c;最初由俄罗斯人Igor Sysoev编写。 nginx现在几乎是众多大型网站的必用技术&#xff0c;大多数情…

好用的电脑录屏工具有哪些?电脑好用的录屏工具

现如今很多人都渐渐对录屏有了需求&#xff0c;尤其是网课老师和网络主播的从业者&#xff0c;录屏工具可以帮助他们减轻很多工作量。好用的电脑录屏工具有哪些&#xff1f; 平时在工作学习中&#xff0c;我们往往会有录制视频的需求&#xff0c;比如录制游戏视频、录制网课视频…

设计UI - Adobe xd画板及参考线

画板新建画板a. 使用预设画板大小或创建自定义画板。操作步骤&#xff1a;打开xd软件&#xff0c;点击需要建立的画板模版&#xff0c;没有则选择自定义大小。b. 使用画板工具创建其它画板。操作步骤&#xff1a;选中画板工具&#xff0c;选择需要建立的画板模版&#xff0c;没…

STM32启动模式讲解与ICP下载电路

一、官方提供的启动模式说明硬件BOOT引脚接法表格从表格可以看出有三种启动模式&#xff0c;然后对应这不同的存储器启动&#xff0c;那我们现在疑问为啥有三种不能只有一种就好&#xff0c;还有存储器启动区域怎么区分&#xff0c;有些乱&#xff0c;带着这些疑问&#xff0c;…

npm install报错unable to resolve dependency tree

一、问题背景npm install安装项目依赖时报错PS D:\test> npm install npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: vue-admin-template4.2.1 npm ERR! Found: webpack5.74.0 npm ERR! node_modules/we…

【WebSocket】在SSM项目中配置websocket

在SSM项目中配置websocket 最近在ssm项目中配置了websocket&#xff0c;踩了很多坑&#xff0c;来分享一下 本文暂不提供发送消息等内容的代码逻辑&#xff08;后续也许会补充&#xff09;&#xff0c;如果你直接复制这类可能会对配置造成更大的麻烦&#xff08;博主就是复制…

单元测试、反射、注解、动态代理

&#x1f3e1;个人主页 &#xff1a; 守夜人st &#x1f680;系列专栏&#xff1a;Java …持续更新中敬请关注… &#x1f649;博主简介&#xff1a;软件工程专业&#xff0c;在校学生&#xff0c;写博客是为了总结回顾一些所学知识点 目录单元测试、反射、注解、动态代理单元测…

一篇文综合分析Fuse!

FUSE需求 究竟什么样的需求才能用到用户文件系统&#xff1f;来看一个小例子&#xff1a; 需求是这样的。在deepin的安装器中&#xff0c;安装器就会给多分出一个分区&#xff1a;数据盘。 数据盘的主要作用是让用户存放数据文件&#xff0c;也就是以前用Windows的时候D盘或者…

YoloV7

总体来说&#xff0c;YoLoV7主要可分为主干特征提取网络&#xff08;backbone&#xff09;&#xff0c;加强特征提取网络以及SPPCSPC三个部分&#xff0c;然后再加上RepConv和YoLoHead部分。输入图片640*640*3的RGB图片&#xff0c;然后卷积、标准化&#xff08;BN&#xff09;…

QT学习笔记-QT多项目系统中如何指定各项目的编译顺序

QT学习笔记-QT多项目系统中如何指定各项目的编译顺序背景环境解决思路具体操作背景 为了更好的复用程序功能以及更优雅的管理程序&#xff0c;有经验的程序员通常要对程序进行分层和模块化设计。在QT/C这个工具中同样可以通过创建子项目的方式对程序进行模块化&#xff0c;在这…

浅谈Linux下的shell--BASH

环境&#xff1a;centos7.6&#xff0c;腾讯云服务器Linux文章都放在了专栏&#xff1a;【Linux】欢迎支持订阅&#x1f339;shell的概念与作用我们已经学习并知道了操作系统实际上就是一款软件&#xff0c;一款用来管理计算机软硬件资源&#xff0c;为用户提供良好的执行环境的…

擎创喜报 | 名单公布!恭喜入选!

前言&#xff1a;企业数字化转型作为一种经营策略&#xff0c;指的是利用数字技术和数字化流程来改变企业的运营、管理、销售和服务方式&#xff0c;以适应数字化时代的发展趋势。一般来说&#xff0c;企业进行数字化出于以下几点考虑。提高效率&#xff1a;数字化改进了业务流…

人口老龄化背景下家政服务网络平台【附源码】

1 毕业论文&#xff08;设计&#xff09;版权使用授权书 本毕业论文&#xff08;设计&#xff09;作者同意学校保留并向国家有关部门或机构送交论文&#xff08;设计&#xff09;的复印件和电子版&#xff0c;允许论文&#xff08;设计&#xff09;被查阅和借阅。本人授权广西…

JAVA中比较对象是否相等的方式是什么?为什么重写equals就一定要重写hashcode?百天百题(3/100)

目录 JAVA中比较对象是否相等的方式是什么&#xff1f; 为什么重写equals就一定要重写hashcode&#xff1f; JAVA中比较对象是否相等的方式是什么&#xff1f; 在了解这个问题之前需要先知道&#xff1a; 1.如果对象相同&#xff0c;那么hashcode是一定相同的。 2.对象不同的…

哈希表

文章目录什么是哈希问题引入哈希函数直接定址法除留余数法 &#xff08;常用、重点&#xff09;哈希冲突哈希冲突的解决方法闭散列开散列unordered_map && unordered_set 封装实现哈希的应用位图布隆过滤器哈希经典面试题哈希切分位图应用布隆过滤器什么是哈希 在上一…