Docker基础篇之Docker常规软件安装

文章目录

    • 1. 总体步骤
    • 2. 安装tomcat
    • 3. 安装Mysql
    • 4. 安装Redis

1. 总体步骤

安装软件的总体步骤如下所示:

  • 搜索镜像
  • 拉取镜像
  • 查看镜像
  • 启动镜像
  • 停止容器
  • 移除容器

2. 安装tomcat

  • docker hub上查找tomcat镜像

在这里插入图片描述
或者使用一下命令查找:

docker search tomcat

在这里插入图片描述

  • 拉取tomcat镜像
docker pull tomcat

在这里插入图片描述

然后使用docker images查看下载好的镜像;

在这里插入图片描述

  • 使用tomcat镜像创建容器实例
docker run -it -p 8080:8080 tomcat

-p:小写:主机端口:docker容器端口
-P:大写:随机分配端口
i:交互
t:终端
d:后台

在这里插入图片描述

  • 访问tomcat首页

在这里插入图片描述

发现访问状态为404,这是因为新版本的tomcat做了一些更新,我需要修改容器的一些配置

进入容器

docker exec -it d5349c9071c3 /bin/bash
ls -l

在这里插入图片描述

Tomcat的主页面是放在webapps下面的

在这里插入图片描述

可以发现webapps下面什么都没有,其实真正的内容在webapps.dist中

我们删除掉webapps,并将webapp.dist修改为webapps

rm -r webapps
mv webapps.dist webapps

在这里插入图片描述
再次访问Tomcat首页:

在这里插入图片描述

  • 停止并删除
docker stop d5349c9071c3
docker rm d5349c9071c3b5c004aa342d4e0ace2086c7461177d89cb67c569e9b97f268bc

3. 安装Mysql

  • 拉取mysql镜像
docker pull mysql
docker images

在这里插入图片描述

  • 使用mysql镜像创建容器
docker run -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

在这里插入图片描述
在这里插入图片描述

然后我们进入容器实例里面:

docker exec -it 3393815aff78 /bin/bash
mysql -uroot -p

在这里插入图片描述

现在我们使用navicat连接mysql:
在这里插入图片描述
现在创建一个库和表:
在这里插入图片描述
然后我插入数据:
在这里插入图片描述
以上docker就成功部署了mysql服务,现在思考一个问题,如果我们一个mysql容器里面装的数据很重要,但是有人给这个容器给删除了怎么办?这种情况在线上是很严重的,为了保证容器被删除mysql数据不丢失,我们需要数据卷挂载技术。

重新新建mysql实例

docker run -d -p 3308:3306 \
--privileged=true \
-v /Users/jackchai/Desktop/lottory_docker/learndocker/mysql/log:/var/log/mysql \
-v /Users/jackchai/Desktop/lottory_docker/learndocker/mysql/data:/var/lib/mysql \
-v /Users/jackchai/Desktop/lottory_docker/learndocker/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql \
mysql

在这里插入图片描述
然后我们新建My.cnf,并通过容器卷同步给mysql容器实例(解决中文乱码问题):
在conf目录下创建my.cnf文件:

[client]
default_character_set=utf8
[mysqlId]
collation_server=utf8_general_ci
character_set_server=utf8             

然后重启一下mysql。

docker restart mysql

4. 安装Redis

  • 拉取镜像

在这里插入图片描述

  • 启动容器
docker run -d -p 6379:6379 redis

在这里插入图片描述
然后我们进入容器内部:

docker exec -it 6f3fc0e73503 /bin/bash

在这里插入图片描述

和mysql一样,一旦容器删除数据就会丢失,所以我们同样需要挂载数据卷

#将redis的配置文件拷贝到本地(配置自行修改)
cp /myredis/redis.conf /app/redis/
#创建redis容器
docker run -d -p 6379:6379 --privileged=true \
-v /app/redis/redis.conf:/etc/redis/redis.conf \
-v /app/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf
#连接启动redis-cli

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac硬件设备系统环境的升级/更新 macOS

Mac硬件设备上进行系统环境的升级/更新macOS 1.大版本(升级)判断(比如:我买的这台电脑设备最高支持Monterey) 点击进入对应的大版本描述说明页查看相关的兼容性描述,根据描述确定当前的电脑设备最高可采用哪个大版本系统(Sonoma/Ventura/Monterey/Big Su…

“探索‘循环购‘:快消品行业的新商业模式与增长策略“

大家好,我是吴军,来自一家深耕于软件开发和商业模式创新的科技公司。我们的专长在于为各类企业量身打造商城系统,并提供个性化的商业模式解决方案。迄今为止,我们已经助力众多企业成功实施了超过200种前沿的商业模式,实…

Python函数进阶

文章目录 1 函数多返回值2 函数多种传参方式2.1 位置参数2.2 关键字参数2.3 缺省参数2.4 不定长参数 3 匿名函数函数作为参数传递lambda匿名函数 1 函数多返回值 def test_return():return 1,2,3 x,y,z test_return() print(x) print(y) print(z)2 函数多种传参方式 2.1 位置参…

Java集合简略记录

一、集合体系结构 单列集合:Collection 双列集合:Map 二、单列集合 List系列集合:添加的元素是有序、可重复、有索引 有序指的是存和取的顺序是一致的,和之前排序的从小到大是没有任何关系的 Set系列集合:添加的元素是…

STM32自己从零开始实操04:显示电路原理图

一、TFT-LCD 屏接口 1.1指路 以下是该部分的设计出来后的实物图,我觉得看到实物图可能更方便理解这部分的设计。 图1 实物图 这部分设计的是一个屏幕的接口,很简单。使用的屏幕是:2.8inch 16BIT Module MRB2801。 1.2数据手册 &#xff0…

【python深度学习】——torch.einsum|torch.bmm

【python深度学习】——torch.einsum|torch.bmm 1. 基本用法与示例2. torch.bmm 1. 基本用法与示例 基本用法: torch.einsum(equation, *operands)equation: 一个字符串,定义了张量操作的模式。 使用逗号来分隔输入张量的索引,然后是一个箭头&#xff…

免费的维吾尔语翻译器:维汉翻译通App,最近新增了什么功能呢?让我们一起来看看!好用的维语翻译工具支持语音评分功能、支持汉语查拼音等等。

“阿拉伯语是知识,波斯语是糖,印度语是盐,而维吾尔语则是艺术。” 这是一句流传在西域的古老谚语,它不仅道出了维吾尔语言的独特魅力,也表达了人们对语言艺术的无限热爱。 而今,我们带着这份热爱&#x…

颠沛流离学二叉树(完结撒花篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

文献解读-肿瘤测序-第五期|《局部晚期或转移性儿童及青少年分化型甲状腺癌的基因特征与临床特征及131I疗效的关系》

关键词:应用遗传流行病学;群体测序;肿瘤测序; 文献简介 标题(英文):The relationship between genetic characteristics and clinical characteristics and the efficacy of 131I therapy in c…

2024年端午节放假通知

致尊敬的客户以及全体同仁: 2024年端午节将至,根据国务院办公厅通知精神,结合公司的实际情况,现将放假事宜通知如下: 2024年6月8日(星期六)至6月10日(星期一)&#xff…

vue3 setup 使用 beforeRouteEnter 组件内路由守卫

vue3 setup 使用 beforeRouteEnter 组件内路由守卫 setup 中只有onBeforeRouteLeave、onBeforeRouteUpdate两个钩子函数&#xff0c; 没有beforeRouteEnter对应的钩子函数&#xff0c;所以无法在setup中直接使用 <script setup> onBeforeRouteLeave((to, from) > {// …

PMP考试难吗?考试通过率有多少?

我们通常以考试的通过率来评判一个考试的难易程度。通常通过率达到60%以上&#xff0c;这个考试就不太难&#xff1b;达到80% &#xff0c;这个考试就是不难的。 PMP考试难吗&#xff1f; 不少想要考PMP的小伙伴都会有这样的疑惑&#xff0c;首先以PMP的含金量来说&#xff0…

人工智能--深度神经网络

目录 &#x1f349;引言 &#x1f349;深度神经网络的基本概念 &#x1f348;神经网络的起源 &#x1f34d; 神经网络的基本结构 &#x1f349;深度神经网络的结构 &#x1f348; 卷积神经网络&#xff08;CNN&#xff09; &#x1f348;循环神经网络&#xff08;RNN&…

车来了冲刺上市:业绩波动明显,依赖广告业务,滴滴、阿里入股

近日&#xff0c;MetaLight Inc.&#xff08;下称“元光科技”或“车来了”&#xff09;向港交所递交招股说明书&#xff0c;中金公司为其独家保荐人。 据招股书介绍&#xff0c;元光科技专注于利用时序数据&#xff08;按时间顺序排列的数据点&#xff09;来发现及预测分析对…

css网格背景样式

空白内容效果图 在百度页面测试效果 ER图效果 注意&#xff1a;要给div一个宽高 <template><div class"grid-bg"></div> </template><style scoped> .grid-bg {width: 100%;height: 100%;background: url(data:image/svgxml;base…

Tomcat概述及部署

目录 一、Tomcat概述 1.Tomcat的简介 2.Tomcat 核心的三个组件 3.应用场景 4.Tomcat 请求过程 二、部署安装Tomcat 三、Tomcat 虚拟主机配置 四、Tomcat多实例部署 一、Tomcat概述 1.Tomcat的简介 Tomcat 是 Java 语言开发的&#xff0c;Tomcat 服务器是一个免费的开…

Vuforia AR篇(六)— Mid Air 半空识别

目录 前言一、什么是Mid Air&#xff1f;二、使用步骤三、示例代码四、效果 前言 增强现实&#xff08;AR&#xff09;技术正在改变我们与数字世界的互动方式。Vuforia作为先进的AR开发平台&#xff0c;提供了多种工具来创造引人入胜的AR体验。其中&#xff0c;Mid Air功能以其…

EMC整改学习-笔记

EMC整改学习-笔记 来自赛盛技术的笔记 如果我拿到一个产品超标的一个频谱图的话&#xff0c;首先我们可以对比做一个分析。来确定你干扰源的一个分类和定义是哪些。是你这个产品类型&#xff0c;什么样的电路对应什么样的一个。从我们的一个大量的一个测试数据的经验来看&…

yolov5的口罩识别系统+GUI界面 (附代码)

基于YOLOv5模型的口罩识别系统&#xff0c;结合了GUI界面&#xff0c;旨在帮助用户快速、准确地识别图像或视频中佩戴口罩的情况。YOLOv5是一种流行的目标检测模型&#xff0c;具有高效的实时检测能力&#xff0c;而GUI界面则提供了友好的用户交互界面&#xff0c;使得整个系统…

用易查分制作活动抽奖系统,支持随机分配中奖结果!

学校或企业在开展抽奖活动时&#xff0c;如何确保公平公正&#xff0c;随机挑选中奖人员呢&#xff1f; 易查分的预置数据分配功能就可以实现&#xff0c;并且支持提交信息后随机分配中奖结果&#xff0c;不受任何人为因素的影响。下面就来教大家如何制作吧。 &#x1f4cc;使用…