华为云云耀云服务器L实例评测|华为云耀云服务器L实例docker部署及应用(七)

八、华为云耀云服务器L实例docker、docker-compose安装及部署MySQL、Redis应用:

随着云原生、容器化、微服务、K8S等技术的发展,容器 docker 也逐渐在企业团队实践中大量的使用。它可以提供了一套标准化的解决方案,极大地提升了部署、发布、运维的效率。

如下为目前公司某个业务线集群使用的K8S云服务器集群:

在这里插入图片描述
K8S相关部署文件:
在这里插入图片描述


1. 什么是容器:

容器是操作系统内核自带能力,是基于 Linux内核实现的轻量级高性能資源隔离机制Docker是容器技术之一,核心在于实现应用与运行环境整体打包以及打包格式统,Docker通过 Linux Container技术的包装将App变成种标准化的、可移植的、自管理的组件。

在这里插入图片描述

容器关键价值:
①. 快速交付和部署:一站式部署/运维容器应用,一键式滚动升级。
②. 提升资源利用率:更细粒度地划分资源,提高资源利用率。
③. 保障业务高可用:秒级弹性扩容,快速响应并发高峰。
④. 复杂系统管理简单:单一重型应用解耦拆分为多个轻量模块,每个模块升级伸缩更加灵活,轻松应对市场变化。

2. Docker的典型应用场景:

在这里插入图片描述


3. 安装docker:

查看docker是没有默认安装的,我们这里直接采用官方给出的命令来进行docker的安装,可以看到采用的也是华为云的网络地址,安装的速度非常的快。

# 安装docker程序
sudo apt-get install -y docker.io

在这里插入图片描述

docker安装完后,可以查看docker版本以及使用docker简单的命令运行是否正常。

# 查看docker的版本
docker -v
# 查看当前docker运行的容器
docker ps
# 查看当前docker下载的镜像image
docker images

在这里插入图片描述


4. docker搭建MySQL 5.7容器:

在这里插入图片描述

# 拉取mysql镜像
docker pull mysql:5.7
# 启动一个mysql容器
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
# 查看正在运行的容器
docker ps
# 查看所有的镜像
docker images

在这里插入图片描述


5. docker搭建Redis容器:

在这里插入图片描述

# 拉取redis镜像
docker pull redis
# 启动一个redis容器
docker run --name redis-server -p 6379:6379 -d redis
# 查看正在运行的容器
docker ps
# 查看所有的镜像
docker images
# 进入redis容器
docker exec -it 容器id /bin/bash

在这里插入图片描述


6. 安装docker-compose:

docker-compose是一个用来定义个运行复杂应用的docker工具,使用该工具可以轻松、高效的管理容器,通过一个配置文件可以管理多个docker容器。

使用 docker Compose 可以轻松、高效的管理容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务,非常适合组合使用多个容器进行开发的场景。

在这里插入图片描述

拉取github对应的程序,很多时候,网络超时,如果您没有网络的问题,可以尝试以下方案安装:

sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

在这里插入图片描述

找到其它的方案,使用 pip来安装docker-compose。

# pip安装docker-compose
sudo pip install docker-compose
# 查看版本
docker-compose -v

在这里插入图片描述


7. docker-compose搭建MySQL、Redis容器:

.env文件:

MYSQL_DATABASE=huawei
MYSQL_USER=root
MYSQL_PASSWORD=123456
MYSQL_ROOT_PASSWORD=root
MYSQL_DIR=./mysql
MYSQL_PORT=3306
MYSQL_VERSION=5.7

docker-compose.yml文件:

version: '3'networks:node-network:driver: bridgeservices:### Reids Container #######################################redis:image: rediscontainer_name: redis-dockerports:- 6379:6379environment:TZ: Asia/Shanghainetworks:- node-network### mysql Container ###########################mysql:restart: alwaysbuild:context: ./mysqlargs:- MYSQL_VERSION=${MYSQL_VERSION}# 指定容器的名称container_name: mysql-docker# 使container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限# 有可能数据卷可能挂载不了,启动不起privileged: truecommand: --innodb-use-native-aio=0environment:MYSQL_DATABASE: ${MYSQL_DATABASE}             # 指定一个数据库,在容器启动时创建.# 创建一个新用户,这个用户在MYSQL_DATABASE指定的数据库上拥有超级用户权限MYSQL_USER: ${MYSQL_USER}MYSQL_PASSWORD: ${MYSQL_PASSWORD}MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}volumes:- "${MYSQL_DIR}/data:/var/lib/mysql"           # 挂载数据目录- "${MYSQL_DIR}/logs:/var/lib/mysql-logs"      # 挂载日志目录ports:# 将容器的3306映射到本地3306,前面是本地端口- "${MYSQL_PORT}:3306"

在这里插入图片描述
销毁容器:在这里插入图片描述

# 启动MySQL和Redis容器
docker-compose up -d redis mysql
# 查看容器
docker ps
# 销毁容器
docker down

8. 使用“Navicat Premium”连接MySQL服务器,有两种方案进行连接:

序号连接方案
1使用本地先通过SSH的方式连接到华为云耀云服务器L实例服务器,再连接本地localhost的方式连接MySQL服务器。
2开放服务器外网3306端口,直接使用华为云耀云服务器L实例服务器的IP + port进行连接。

在这里插入图片描述

在华为云耀云服务器L实例中的安全组,如下添加规则,开通3306的外网限制规则,在外网即可访问华为云耀云服务器L实例的内部端口。

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


9. 使用连接Redis服务器:


10. 小结:

docker可以在共享相同内核空间的单个主机上运行基于不同 Linux 发行版的容器。例如,在 Ubuntu 服务器上运行 RHEL、CentOS、基于 SUSE 的容器,只有用户空间不同,内核空间相同,可以构建MySQL、Redis、Nginx的容器或集群。

在这里插入图片描述

通过对华为云耀云服务器L实例安装docker及docker-compose,再部署MySQL和Redis的容器,并没有发现不满足需求的,安装的过程中,默认自带的华为云源下载的速度非常的快,是值得推荐的。

在这里插入图片描述

以下为安装过的软件清单:

在这里插入图片描述

以下为软件安装部署整体测试进度:

在这里插入图片描述

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

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

相关文章

2023年中国视频流媒体行业发展历程及趋势分析:未来市场规模趋于平稳[图]

随着移动通信的发展和视频内容产业供给端的繁荣,流媒体视频平台已经成为互联网用户上网时长最长的应用之一。在线视频行业经历了十几年的规范发展阶段,在各大头部平台百花齐放的现状下,难以实现一家独大,但部分平台有领先优势&…

acwing算法基础之基础算法--整数离散化算法

目录 1 知识点2 模板 1 知识点 整个范围很大,但存在的数据点很少。比如从 − 1 0 9 -10^9 −109到 1 0 9 10^9 109,但总共只有 1 0 6 10^6 106个数。 可以采用离散化的思想来做,即将离散的大数值映射成连续的小数值(一般是 1 , …

软考高级架构师下篇-18大数据架构理论设计与实践

目录 1. 引言2. 传统数据处理系统的问题1.传统数据库的数据过载问题2.大数据的特点3.大数据利用过程4.大数据处理系统架构分析3.典型的大数据架构1. Lambda架构2.Kappa架构3. Lambda架构与Kappa架构的对比4.大数据架构的实践1.大规模视频网络2.广告平台3.公司智能决策大数据系统…

整理redis写入string类型的缓存的方法

第一种存储方式:JSON方法 可以使用Redis的序列化方法将数组转换为字符串,然后将其写入Redis中的String类型缓存。常见的序列化方法有JSON和PHP自带的序列化函数serialize和unserialize。 以下是一个示例代码,将一个数组写入Redis中&#xf…

数字孪生技术:新零售的未来之路

随着科技的不断进步,新零售产业正经历着巨大的变革。数字孪生作为一种新兴技术正在加速这一变革的进程。它不仅为新零售企业带来了更高效的运营方式,还为消费者提供了更个性化、便捷的购物体验。那么,数字孪生技术究竟如何在新零售产业中发挥…

HDLbits:Fsm onehot

这道题理解有误,以为s010b0000000001,s010b0000000010,写成了如下的代码(有误): module top_module(input in,input [9:0] state,output [9:0] next_state,output out1,output out2);parameter s010b00000…

分享关于职场心态

1.解决问题而不是解释原因 2.秉承工匠思维而不是激情思维 什么是工匠思维? 工匠思维(The craftsman mindset)对待职业生涯的一种方式;是以产出为中心的职业观,关注自己给世界(工作)带来的价值…

免密码方式获取Hive元数据

前言 开发中可能用到hive的元数据信息 ,如获取hive表列表、hive表字段、hive表数据量大小、hive表文件大小等信息,要想获取hive元数据信息即需要hive元数据库的账号及密码,此次提供的是一种不需要hive元数据库密码及可获取元数据信息的方式 …

观察者模式、订阅者发布者模式、vtk中的观察者模式

文章目录 什么是观察者模式vtk是如何实现的观察者模式.AddObserver什么时候使用观察者模式?什么使用订阅发布者模式?观察者模式的实现订阅发布者的实现总结知识补充: 什么是观察者模式 用于在对象之间建立一对多的依赖关系,当一个对象的状态发生变化时…

用一个结构去分割二维空间

( A, B )---5*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有5个节点,AB训练集各由5张二值化的图片组成,让A 中有5个点,B全是0,排列组合,统计迭代次数并排序。 其中5-x有3组数据 4-x 差值结构 迭代次数 5-x 差值结构 …

JAVA之多线程

文章目录 进程与线程多线程的生命周期多线程的实现方式 进程与线程 进程是指运行中的应用程序,每一个进程都有自己独立的内存空间;线程是指进程中的一个执行流程,有时也称为执行情景;一个进程可以由多个线程组成,即在…

springboot中如何加载测试专用属性

测试 加载测试专用属性 加载测试专用配置 Web环境模拟测试 数据层测试回滚 测试用例数据设定 1.在启动测试环境时可以通过properties参数设置测试环境专用的属性 SpringBootTest(properties {"test.proptestValue1"}) public class PropertiesAndArgsTest {Value(…

Web应用-Thinkphp框架-开发指南

Thinkphp框架 二级导航分类,模板继承,内置标签Public 修改MVC模块化 ——访问机制传参加载模版模版引入 分离Runtime 缓存文件管理员添加数据验证及验证场景 控制器 validate 在sql执行(敏感操作)之前验证数据模板 分页数据表连接…

[MoeCTF 2023] web题解

文章目录 webhttpcookie彼岸的flagmoe图床大海捞针夺命十三枪 web http 连接到本地后,题目给了我们任务 第一个是要求我们GET传参UwUu第二个是要求我们POST传参Luvu第三个是要求我们cookie值为admin第四个是要求我们来自127.0.0.1第五个是要求我们用MoeBrowser浏…

ajax实现原理

网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面。这使得程序能够更快地回应用户的操作 Ajax的实现原理 创建Ajax对象 传入请求方式和请求地址 发送请求 获取服务器与客户端的响应数据 xhr.responseText // 1…

C语言-程序环境和预处理(1)编译、连接介绍以及预处理函数,预处理符号详解及使用说明。

前言 本篇文章讲述了程序的翻译环境和执行环境,编译、连接,预定义符号,#define,#符号和##符号的相关知识。 文章目录 前言1.程序的翻译环境和执行环境2.编译链接2.1 翻译环境2.2 运行环境 3.预处理详解(各预处理符号使…

基于微服务+Java+Spring Cloud开发的建筑工地智慧平台源码 云平台多端项目源码

建筑工地智慧平台源码,施工管理端、项目监管端、数据大屏端、移动APP端全套源码 技术架构:微服务JavaSpring Cloud VueUniApp MySql自主版权实际应用案例演示 建筑工地智慧平台已应用于线上巡查、质量管理、实名制管理、危大工程管理、运渣车管理、绿色…

windows系统使用cmd执行.py文件并且传入参数 | 神经网络模型训练 | 主打能用就行

0. 本文概括/ 需求 这个文章cover了一下需求: python环境由annaconda (conda同理)控制指定3个random seed,并且使用cmd命令依次执行train.pytrain.py文件需要传入参数seed,train.py文件中,需要import位于其他.py文件中自定义的cla…

凯百斯纳米盛装亮相2024济南生物发酵展专注于高压均质解决方案

凯百斯纳米技术(上海)有限公司盛装亮相2024济南生物发酵展,专注于高压均质、破碎、乳化、分散、粉碎等解决方案! 2024第12届国际生物发酵产品与技术装备展(济南展)将于2024年3月5-7日在山东国际会展中心盛…

创建一个react项目 create-next-app

之前是用的creact-react-app来创建的:npx create-react-app my-app 现在官网却推荐使用creact-next-app: npx create-next-app 我们把他所有的选项都选上 这里的css使用了tailwind 项目结构很奇怪啊,没找到.html文件,只在src/app/layout.t…