阿里云云服务器、ACR镜像服务、容器化实战:搭建企业应用

news2024/10/5 12:45:35

一、容器化基础知识
华为云免费试用服务器:https://activity.huaweicloud.com/free_test/index.html
阿里云docker容器教程:https://edu.aliyun.com/course/3111900/lesson/341807097
查询ip地址:www.ip138.com
二、容器化搭建企业应用实战
2024-阿里云容器训练营.docx
2024-6-12-三创=容器训练营.docx
1、完整实战步骤:
1、选择阿里云ESC云服务器,完成基本配置(内存、核数、安全组规则、用户名密码)
2、开通容器镜像服务ACR(个人版)。(创建时需要和ECS在同一地域下,否则ECS无法通过内网访问镜像仓库。)
(1)创建镜像仓库命名空间
(2)创建命名空间下的镜像仓库
(3)代码源选择本地仓库
3、ESC中安装docker服务,并启动,检查docker运行状态
4、ESC中构建wordPress镜像
(1)创建目录,并下载dockerfile和配置文件docker-entrypoint.sh
(2)制作镜像 docker build
(3)查看本地当前镜像
5、将ESC本地构建的镜像上传至ACR
(1)登陆个人镜像仓库ACR,docker login。(镜像仓库登陆以及后续打标签、推送均通过专有网络地址:registry-vpc.vn来操作速度会更快)
(2)新增ACR镜像tag,按照格式打上标签再推送到ACR方便管理
(3)docker push
6、ecs按照wordpress数据库mariadb
(1)yum按照mariadb,并启动,初始化,设置密码
(2)创建wordpress数据库 create database wordpress
(3)授权root账号远程访问
7、通过镜像运行wordpress应用
(1)在ecs上创建站点文件持久化存储目录(目录为esc服务器本地目录)
(2)运行docker镜像(运行本地创建好/或pull下来的镜像)
(3)拉去镜像前,必须要先登陆镜像仓库ACR,否则无权限
docker run --name wordpress -p 80:80 -d -v /var/www/html:/var/www/html registry-vpc.cn-hangzhou.aliyuncs.com/wordpress-***/wordpress:v1
8、访问并配置wordpress应用
(1)浏览器访问esc公网,端口80
(2)在wordpress界面配置数据库(数据库主机填入服务器的私有IP地址)

process status 显示运行中的进程、用户、CPU、内存
-aux:
-a 显示所有终端进程
-u 以用户易读格式显示
-x显示没有控制终端进程

ps -aux |grep docker
2、关键点
(1)安全组规则
在这里插入图片描述

用网络上的客户端连接容器中的mysql服务,会出现问题,在申请的华为云服务器与网络客户端之间,有一道安全组,默认只开放22端口,如果需要访问其他端口(如33061)需要设置安全组。是在ecs服务器外部,设置了一层防火墙,所有访问都需要经过它过滤。
在这里插入图片描述

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

(2)其他问题
1、问题一:在华为云服务器启动docker,并启动mysql容器,此时外网用户如何访问?访问经历哪些步骤?

  1. 启动mysql容器,会事先定义端口映射规则,如33061:3306,即将容器3306端口映射到云服务器外网的33061端口(这个端口用于让外部用户访问)。容器相当于虚拟机,有自己虚拟的ip地址,ecs服务器在互联网中为公网ip,内部的容器使用私网ip地址。
  2. 当外部用户访问云服务器的公网端口33061时,会通过NAT将公网地址转化为私网地址,最后访问到容器的3306端口
  3. 外部用户用sqlyog(模拟客户端软件)连接mysql
  4. 在云服务器外部,华为/阿里云会设置安全组(实质上是防火墙)用于过滤访问。
  5. 安全组规则默认只开放22端口,需要开启33061端口访问权限,此时外网用户可以访问33061端口
    2、问题二:从容器化搭建企业应用反应-容器化的发展历程
    (1)随着云计算技术的迅速发展,小陈紧跟前沿技术,学习云计算相关技术也熟悉了阿里云产品,希望用云服务器来搭建公司网站。
    (2)在云服务器上搭建应用,相同应用、在不同运行环境中执行结果不同,移植性问题(小则引起应用更新失败,大则拉低工作效率,产生生产事故,严重影响业务。

(3)容器解决移植性问题,在学习容器,了解服务器虚拟化知识

(4)已学习容器和docker基础知识,需要搭建公司的网站。
(4)但这些镜像从哪来,公司的网站原本只是一些代码,还不是镜像文件,如何把代码、运行环境打包在一起称为镜像?

构建:将应用程序和运行环境打包成镜像
发布:镜像文件发布到仓库,
运行:获取已发布的镜像,运行成容器

构建:基于dockerfile构建,将构建过程每个步骤写到脚本中,通过dockerbuild放手构建,整个过程清晰、可见,而docker commit通过命令直接构建,只有构建者才知道整个过程,难以重现。

dockerfile用于构建镜像的文本文件,包含了所需的指令和说明。dockerfile是一种被docker程序解释的脚本(编写时要符合dockerfile规则,dockerfile由一条条命令构成,每条命令对应linux下的命令)
(5)镜像放在哪好
放在镜像仓库中,称为镜像发布
(6)为什么要发布镜像
宣告这个镜像时可部署的正式版本,可作为后期生产环境的部署、更新应用的基准
(7)为什么要发布到镜像仓库,而不是本地服务器
一个协同项目中,又开发、测试、运维多个角色,每个角色不止一个人,希望能够中应用构建到发布的不同阶段形成良好的协作,就需要大家能访问的镜像仓库作为协作平台。
(8)公有镜像仓库最知名的github,需要私有还是公有镜像仓库?
私有,公司网站的一些素材,关联到企业的品牌形象和数据信息,二次开发的代码也涉及到了用户、支付等敏感数据。
(9)有必要自建私有镜像仓库嘛?
没必要,工作中心聚焦在核心业务上,使用阿里云提供的镜像服务ACR更加方便、可靠、高安全性。

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

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

相关文章

如何选择和优化谷歌外贸关键词?

长尾关键词是关键,长尾关键词是指由三个或更多词组成的更具体、更详细的搜索词组。与单个关键词相比,长尾关键词虽然搜索量较低,但往往能带来更高的转化率,因为它们更能精准地反映用户的搜索意图和需求 使用长尾关键词有几个优势…

海南云亿商务咨询有限公司抖音带货怎么样?

在数字化浪潮席卷全球的今天,电商行业正迎来前所未有的发展机遇。特别是短视频平台如抖音的崛起,更是为电商行业注入了新的活力。海南云亿商务咨询有限公司,作为抖音电商服务的佼佼者,凭借其专业的团队和卓越的服务,助…

北邮《计算机网络》蒋老师思考题及答案-传输层

蒋yj老师yyds! 答案自制,仅供参考,欢迎质疑讨论 问题一览 传输层思考题P2P和E2E的区别使用socket的c/s模式通信,流控如何反映到编程模型三次握手解决什么问题举一个两次握手失败的例子为什么链路层是两次握手而非三次?…

HTML(24)——过渡

过渡 作用:可以为一个元素在不同的状态之间切换的时候添加过渡效果 属性名:transition(复合属性) 属性值:过渡的属性 花费时间(s) 提示: 过渡的属性可以是具体的CSS属性也可以为all(两个状态属性值不同的所有属性…

证件照制作工具有哪些?分享当下热门的证件照制作工具

无论是考证、出国旅游还是应聘,一张符合标准的证件照成了必备之物。 如果手头的证件照尺寸不符合要求,不必惊慌,现在有多种证件照制作软件可以帮助你迅速解决问题。 今天,本文就为大家分享几个证件照制作教程,让你的…

js小题3:构造函数介绍与普通函数对比

一、构造函数介绍: 在JavaScript中,构造函数是用于创建和初始化一个由new关键字生成的对象的特殊函数。构造函数的名字通常以大写字母开头,但这并不是JavaScript语法的一部分,而是一种约定俗成的命名规范,有助于区分构…

HTML基础入门知识

HTML基础使用 文章目录 HTML基础使用1、什么是HTML2、web标准4、HTML语法规则5、常用的标签标题标签段落标签换行标签文本格式化标签div和span标签图片标签路径链接标签注释 1、什么是HTML 什么是网页 网站是指在因特网上根据一定的规则,使用 HTML 等制作的用于展示…

国内有哪些比较优秀的wordpress主题?

WordPress作为全球最受欢迎的开源内容管理系统之一,拥有众多优质的主题供用户选择。那么国内有哪些比较优秀的wordpress主题呢?下面小编就和大家分享国内功能比较完善比较受欢迎的wordpress主题。 wordpress主题合集:WP主题-办公人导航https:…

202406最新manjaro安装sogou输入法解决方案(采用aur本地package+sogou deb包解决方案)

本地执行安装方法 1.拉取源码 git clone https://gitee.com/liushuai05/fcitx-sogoupinyin.git cd fcitx-sogoupinyin 2.获取sogou下载地址并替换到源码中 - 下载地址:https://pinyin.sogou.com/linux/ - 点击立即下载->x86_64->下载,然后右键复…

【数据结构(邓俊辉)学习笔记】二叉搜索树02——查找、插入和删除

文章目录 1.概述2. 查找2.1 查找:算法2.2 查找:理解2.3 查找:实现2.4 查找:语义 3. 插入3.1 插入:算法3.2 插入:实现 4. 删除4.1 删除:框架4.2 删除:单分支4.3 删除:双分…

数据库讲解---(数据库保护)【上】

目录 一.事务 1.1事务的概念【重要】 1.2事务的特性【重要】 1.2.1原子性(Atomicity) 1.2.2一致性(Consistency) 1.2.3隔离性(Isolation) 1.2.4持久性(Durability) 二.数据库恢复 2.1数据库系统的故障 2.1.1事务内部故障 2.1.2系统故障 2.1.3介质故障 2.1.4计算机…

基于轨迹加权的混合离线强化学习数据集

写在前面: 这篇论文阅读已经同步到我的博客网站,若需更优的阅读体验,请前往https://mainjaylai.github.io/Blog/blog/paper/trajectory-dataset进行浏览 摘要 大多数离线强化学习(RL)算法通过最大化目标策略的期望性…

基因检测2 - 脆性X综合征

1. 脆性X综合征 脆性X综合征(Fragile X syndrome, FXS)遗传性智力障碍和孤独症谱系障碍(Autism spectrum disorder, ASD)最常见的单基因病(发病率仅次于唐氏综合征Down syndrome, DS),为X连锁不…

总结一些LLM算法岗遇到的八股

总结一些我被问到的题和常见的题目,答案有不对的欢迎指出。 Batch Norm和Layer Norm的定义及区别? BN 批量归一化:以进行学习时的mini-batch为单位,按mini-batch进行正规化。具体而言,就是进行使数据分布的均值为0、…

C语言入门课程学习笔记9:指针

C语言入门课程学习笔记9 第41课 - 指针:一种特殊的变量实验-指针的使用小结 第42课 - 深入理解指针与地址实验-指针的类型实验实验小结 第43课 - 指针与数组(上)实验小结 第44课 - 指针与数组(下)实验实验小结 第45课 …

工信部中小企业局一行莅临盘古信息调研指导

近日,中小企业数字化转型城市试点调研交流活动在广东东莞举行,工业和信息化部中小企业局副局长商超,广东工业和信息化厅二级巡视员张振祥,工业和信息化部中小企业局创业创新处处长李海涛,东莞市委常委、副市长刘光滨&a…

canvas如何让单行文本用...省略

let strWidth ctx.measureText(this.data.name).width; const ellipsis "..." const ellipsisWidth ctx.measureText(ellipsis).width; if(strWidth<120 || 120<ellipsisWidth) {ctx.fillText("测试:"this.data.name, 190*dpr,590*dpr); }else {va…

(上位机APP开发)调用华为云属性修改API接口修改设备属性

一、功能说明 通过调用华为云IOT提供的属性修改API接口,给设备下发属性修改消息。 API接口地址:https://support.huaweicloud.com/api-iothub/iot_06_v5_0034.html 此接口支持在线调试:https://console.huaweicloud.com/apiexplorer/#/openapi/IoTDA/doc?api=UpdatePrope…

基于Java微信小程序火锅店点餐系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f;感兴趣的可以先收藏起来&#xff0c;还…

基于电商模式的性能测试(2) —— 使用Jmeter参数化功能+JSR223 PreProcessor+JSON Extractor完成注册登录的数据驱动

1、前置条件 此例使用的是GitHub上一个开源的电商项目mall&#xff0c;需要的可以去GitHub上下载部署&#xff0c;有详细的部署教程&#xff1a; GitHub地址&#xff1a;github.com/macrozheng/…部署教程&#xff1a;macrozheng.github.io/mall-learni… 2、场景抽离 首先要…