华为云云耀云服务器L实例评测|企业项目最佳实践之docker部署及应用(七)

news2024/12/26 21:17:34

华为云云耀云服务器L实例评测|企业项目最佳实践系列:

华为云云耀云服务器L实例评测|企业项目最佳实践之云服务器介绍(一)
华为云云耀云服务器L实例评测|企业项目最佳实践之华为云介绍(二)
华为云云耀云服务器L实例评测|企业项目最佳实践之华为云耀云服务器L实例介绍(三)
华为云云耀云服务器L实例评测|企业项目最佳实践之云耀云服务器L实例购买 (四)
华为云云耀云服务器L实例评测|企业项目最佳实践之评测用例(五)
华为云云耀云服务器L实例评测|企业项目最佳实践之包管理工具安装软件(六)
华为云云耀云服务器L实例评测|企业项目最佳实践之docker部署及应用(七)
华为云云耀云服务器L实例评测|企业项目最佳实践之私有库搭建verdaccio(八)
华为云云耀云服务器L实例评测|企业项目最佳实践之启动宠物预约项目(九)
华为云云耀云服务器L实例评测|企业项目最佳实践之计划任务与Queue队列实践 (十)
华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)
华为云云耀云服务器L实例评测|企业项目最佳实践之建议与总结(十二)


八、华为云耀云服务器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: bridge

services:
  ### Reids Container #######################################
  redis:
    image: redis
    container_name: redis-docker
    ports:
      - 6379:6379
    environment:
      TZ: Asia/Shanghai
    networks:
      - node-network

  ### mysql Container ###########################
  mysql:
    restart: always
    build:
      context: ./mysql
      args:
        - MYSQL_VERSION=${MYSQL_VERSION}
    # 指定容器的名称
    container_name: mysql-docker
    # 使container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限
    # 有可能数据卷可能挂载不了,启动不起
    privileged: true
    command: --innodb-use-native-aio=0
    environment:
      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服务器:

Redis Desktop Manager(RDM)是一款用于管理和操作Redis数据库的图形化界面工具。它提供了简单易用的界面,使用户能够方便地执行各种Redis数据库操作,并且支持多个Redis服务器的连接。

在安全组中,开通6379的端口。
在这里插入图片描述

使用IP + 端口连接redis实例。
在这里插入图片描述

进行redis的key操作。

在这里插入图片描述


10. 小结:

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

相关文章

注册大量短视频矩阵账号很简单,这个方法教会你,还有这个批量剪辑神器帮你完成矩阵分发

一个人一天就能注册上百个抖音实名账号,那么是如何做到的呢?其实很简单,只需要一个营业执照就能办到。 一个营业执照可以点亮两个蓝v号,每个蓝v账号可以注册50个员工账号。 员工账号和个人号的实名是不冲突的,所以之前…

关闭VS Code中的鼠标悬停时的提示框(MDN Reference)

在使用VS Code编辑器写html文件时,鼠标悬停在写的某些内容时会弹出一个提示框,如下图: 这个提示是比较烦人的,接下来分享关闭它的教程: 这里是以Win10版的Visual Studio Code为例 1.打开VS Code 的设置界面 2.在扩展…

历史上最愚蠢的代码

目录 1. 马赛勒航天飞机坠毁: ​2. 2000年问题(Y2K Bug): ​3. 阿里亚5号火箭爆炸: 4. Knight Capital Group的交易错误: 在编程历史上,有一些代码错误导致了严重的后果,可以被视…

旧手机热点机改造成服务器方案

如果你也跟我一样有这种想法, 那真的太酷了!!! ok,前提是得有root,不然体验大打折扣 目录 目录 1.做一个能爬墙能走百度直连的热点机(做热点机用) 2.做emby视频服务器 3.做文件服务, 存取文件 4.装青龙面板,跑一些定时任务 5.做远程摄像头监控 6.做web服务器 7.内网穿…

REF615 REU615 RED615 人工智能在工业中的第一步

REF615 REU615 RED615 人工智能在工业中的第一步 工业必须面对广泛的挑战:从气候变化和能源短缺到不稳定的供应链和技能短缺。成功应对这些挑战需要创新技术和明智的经济政策战略。 汉诺威工业博览会2023提供了两者:不仅是工业、立法者、学术界和社会代表之间交流的独特平台&a…

企业如何凭借软文投放实现营销目标?

数字时代下,软文投放成为许多企业营销的主要方式,因为软文投放成本低且效果持续性强,最近也有不少企业来找媒介盒子进行软文投放,接下来媒介盒子就来给大家分享下,企业在软文投放中需要掌握哪些技巧,才能实…

微信小程序开发之入门级02(带你进一步了解微信小程序开发)

目录 ​编辑 前言 一、 微信小程序的生命周期 1. 概述 2. 全局与页面的生命周期函数 2.1 全局的生命周期函数: 2.2 页面的生命周期函数: 3. 常用的生命周期函数和对应的应用场景 3.1 onLaunch(小程序启动) 3.2 onShow&am…

Mac卸载微信输入法方法

陪伴着「微信输入法」更新了N多个beta版本之后,最终还是选择卸载。 至今,微信输入法也没有来到1.0。 本来,每次期望着它能有更大的提升,但是最后发现,搞输入法确实也需要技术沉淀的。 但也必须承认,这个绿色…

【oceanbase】centos7/kylinv10部署oceanbase(x86版本)

1. 修改系统​ vim /etc/sysctl.conf fs.file-max 102400 net.nf_conntrack_max 1024000 net.netfilter.nf_conntrack_max 1024000 2. 修改 ulimit 的 open file,系统默认的 ulimit 对文件打开数量的限制是 1024 vim /etc/security/limits.conf # 加入以下…

消防应急疏散指示系统在某生物制药工厂项目的应用

安科瑞 华楠 摘要 消防应急照明和疏散指示系统由控制器、集中电源和灯具(疏散指示灯具、应急照明灯具)等几部分组成。系统采用17寸工业平板电脑、Windonws7系统,可支持联动报警、系统监控、故障报警、自检、备电、记录存储与查询、导光流、…

物流行业案例 | 甄知猪齿鱼助力构建高效研发体系,搭建统一的研发管理平台

随着全球经济的发展和电子商务的兴起,物流行业正经历着快速的变革和发展,作为支撑我国经济发展的重要基础设施,近年来社会物流总额一直保持着平稳增长的趋势。根据中国物流与采购联合会数据,2012-2022年,我国社会物流总…

Improving Generalization with Domain Convex Game

文章目录 AbstractIntroductionContributions Related WorkDomain GeneralizationConvex GameMeta Learning Domain Convex Game 使用域凸策略改进领域泛化 Abstract Domain generalization (DG) tends to alleviate the poor generalization capability of deep neural netwo…

在自己的摄像头上测试ORB_SLAM3

文章目录 硬件相机标定IMU标定依赖编译可能遇到的问题 硬件 x86电脑realsense d435i相机 相机标定 IMU标定 依赖 Ceres # CMake sudo apt-get install cmake # google-glog gflags sudo apt-get install libgoogle-glog-dev libgflags-dev # BLAS & LAPACK sudo apt…

STM32 外部中断

STM32 外部中断 中断系统 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行 中断就是…

ABeam ESG News | 深化校企合作,ABeam中国ESG与可持续发展负责人做客上海财经大学ESG主题讲座回顾

ABeam上海财经大学 近日,ABeam中国ESG与可持续发展负责人杨丽楠女士受邀来到上海财经大学,作为外语学院30周年院庆系列学术活动的分享嘉宾,为近200名学生开展了ESG主题专场讲座。本次讲座探讨了ESG(环境、社会和治理)因…

使用CFimagehost源码搭建无需数据库支持的PHP免费图片托管私人图床

文章目录 1.前言2. CFImagehost网站搭建2.1 CFImagehost下载和安装2.2 CFImagehost网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置) 4.公网访问测…

前端实现锥形渐变

锥形渐变 使用conic-gradient即可解决 渐变效果 width: 150px 和 height: 150px 设置元素的宽度和高度为 150 像素,使其呈现为一个正方形。border-radius: 50% 设置元素的圆角半径为 50%,使其呈现为一个圆形。border: 2px solid #000 设置元素的边框为…

研发效能认证学员作品:如何做好敏捷实践丨IDCF

作者:徐渊峰(现就职兴业数字金融服务(上海)股份有限公司 研发管理部) 研发效能(DevOps)工程师(中级)认证、A-CSM认证、ITIL4 认证、信息系统项目管理师 引言 有句话是…