云原生容器Clouder认证:基于容器搭建企业级应用笔记

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 基于容器搭建企业级应用笔记

云原生容器Clouder认证:基于容器搭建企业级应用

实验介绍

本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,并实现通过公网地址访问wordpress网站。

步骤包含:

1、创建实验资源ECS

2、开通容器镜像服务ACR

3、安装Docker服务

4、构建wordpress镜像

5、上传镜像至ACR镜像仓库

6、安装Mariadb数据库

7、通过镜像运行wordpress应用

8、访问并配置wordpress网站应用

9、释放资源

https://ecs.console.aliyun.com/

  1. 在配置选择界面按照以下配置进行选择:

付费类型:按量付费

地域:华东1(杭州)

网络及可用区:默认专有网络,随机分配可用区|默认交换机

实例规格:共享标准型S61vCPU1GB(如该规格售罄,可选择其他未售罄型号1vCPU1GB内存实例)

镜像:Centos7.9 64位

系统盘:高效云盘20GiB

公网IP:勾选分配IPv4地址

带宽计费模式:按使用流量

带宽峰值:5Mbps

安全组:新建安全组

安全组类型:普通安全组

开通IPv4端口:勾选SSH(22)、HTTP(80)、HTTPS(443)、RDP(3389)

登录凭据:自定义密码

登录名:root

设置密码为:Admin@123

点开高级选项,填入实例名称:ecs_test_01

https://cr.console.aliyun.com/

Admin@123

wordpress-lfb

wordpress

wordpress镜像仓库

https://ecs.console.aliyun.com/

# 安装Docker服务
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Step 3:设置yum源。
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

# Step 4: 更新Docker-CE。
sudo yum makecache fast

cd /etc/yum.repos.d/
rm -rf docker-ce.repo mirrors.aliyun.com_docker-ce_linux_centos_docker-ce.reposudo.repo 
# Step 5: 安装Docker-CE
sudo yum -y install docker-ce

# Step 6: 启动Docker服务。
sudo systemctl start docker

# Step 7: 查看Docker服务运行状态,Active显示为:active(running) 表示Docker服务运行正常。
sudo systemctl status docker

# Step 8: 设置Docker服务开机自启动。
sudo systemctl enable docker



# step 1: 创建WordPress镜像制作目录makeWordpress并进入该目录
mkdir -p /makeWordpress
cd /makeWordpress
# step 2:下载Dockerfile文件和配置文件
wget https://wordpress-clouder.oss-cn-hangzhou.aliyuncs.com/Dockerfile
wget https://wordpress-clouder.oss-cn-hangzhou.aliyuncs.com/docker-entrypoint.sh

# step 3:设置文件权限
chmod 755 docker-entrypoint.sh

# step 4: 制作镜像(此过程大致需要运行5-10分钟左右)
docker build -t="wordpress:v1" /makeWordpress

# step 5: 查看构建完成的镜像
docker images



# step 1: 登陆个人镜像仓库ACR
docker login --username=u-dkon3jrg@1716126755825072 registry-vpc.cn-hangzhou.aliyuncs.com

docker login --username=u-qshe5gcd@1305223700256909 registry-vpc.cn-hangzhou.aliyuncs.com

说明:

1)以上命令中的 **** 需替换为您的实验账号全名,账号全名可以在左侧实验手册处查询到(如上图),直接复制即可。
2)镜像仓库登录以及后续的打标签、推送均通过专有网络地址(registry-vpc.cn)来操作,速度会更快。
登录时输入密码:Admin@123,输入密码时屏幕不显示为正常现象,回车后显示Login Succeeded表示登录成功

# step 2: 新增ACR镜像TAG,镜像名称为创建的个人仓库镜像ACR中的仓库地址和名称
docker tag wordpress:v1 registry-vpc.cn-hangzhou.aliyuncs.com/wordpress-lfb/wordpress:v1

# step 3: 将镜像推送到镜像仓库ACR
docker push registry-vpc.cn-hangzhou.aliyuncs.com/wordpress-lfb/wordpress:v1

# step 4: 输入cd回到ECS根目录,以便后续操作。
cd



# step 1: yum安装Mariadb数据库

yum -y install mariadb mariadb-server

# step 2: 启动Mariadb数据库

systemctl start mariadb

# step 3:初始化Mariadb数据库,并设置root账号密码为Admin@123

提示:密码在输入时不显示为正常现象,请放心操作。

mysql_secure_installation

Admin@123
一路回车

# step 3:登录Mariadb数据库,密码为Admin@123

提示:密码在输入时不显示为正常现象,请放心操作。

mysql -uroot -p

# step 4:创建wordpress数据库
create database wordpress;

# step 4:授权root账号远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Admin@123' WITH GRANT OPTION;
FLUSH PRIVILEGES;

# step 5:输入 exit; 可以退出数据库登陆界面

exit;
  1. 通过镜像运行WordPress应用

    # step 1: 在服务器ECS上创建站点文件持久化存储目录。
    mkdir -p /var/www/html
    
    docker run --name wordpress -p 80:80 -d -v /var/www/html:/var/www/html registry-vpc.cn-hangzhou.aliyuncs.com/wordpress-lfb/wordpress:v1
    

    step 3:查看WordPress容器运行状态,STATUS显示为Up表示运行正常。

    docker ps -a
    ```

    step 1: 在浏览器地址栏中输入服务器ECS公网IP,回车进入WordPress配置界面

wordpress
admin
Admin@123
admin@wordpress.com
  1. 释放资源

    step1:删除容器镜像服务ACR的镜像仓库,在镜像仓库列表中,选择 wordpress仓库 点击删除。

    step2:删除容器镜像服务ACR的命名空间,在命名空间列表中,选择 wordpress-* 点击删除。









整体步骤如下(具体操作会在实验环节中呈现):

1、创建WordPress镜像制作目录。

# 创建WordPress镜像制作目录makeWordpress并进入该目录

mkdir -p /makeWordpress

cd /makeWordpress

2、下载Dockerfile文件和docker-entrypoint.sh预处理脚本,赋予脚本执行权限。

# 下载Dockerfile文件和配置文件

wget https://raw.githubusercontent.com/docker-library/wordpress/841f2801d0a6d0cf73321a5554d6bade4c143417/php7.3/apache/Dockerfile

wget https://raw.githubusercontent.com/docker-library/wordpress/841f2801d0a6d0cf73321a5554d6bade4c143417/php7.3/apache/docker-entrypoint.sh


# 设置文件权限

chmod 755 docker-entrypoint.sh

3、运行Docker build命令,利用Dockerfile制作WordPress镜像。

# 制作wordpress镜像,并存放到makeWordpress目录

docker build -t="wordpress:v1" /makeWordpress

4、运行Docker images查看制作出的镜像。

# 查看构建完成的镜像

docker images

ACR

  1. 登录阿里云Docker Registry

    $ docker login --username=china**@yeah.net registry.cn-beijing.aliyuncs.com

用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

您可以在访问凭证页面修改凭证密码。

  1. 从Registry中拉取镜像

    $ docker pull registry.cn-beijing.aliyuncs.com/eza/test:[镜像版本号]

  2. 将镜像推送到Registry

    $ docker login --username=china**@yeah.net registry.cn-beijing.aliyuncs.com
    $ docker tag [ImageId] registry.cn-beijing.aliyuncs.com/eza/test:[镜像版本号]
    $ docker push registry.cn-beijing.aliyuncs.com/eza/test:[镜像版本号]

请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。

  1. 选择合适的镜像仓库地址

从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。

如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-beijing.aliyuncs.com 作为Registry的域名登录。

  1. 示例

使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。

$ docker imagesREPOSITORY                                                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZEregistry.aliyuncs.com/acs/agent                                    0.7-dfb6816         37bb9c63c8b2        7 days ago          37.89 MB$ docker tag 37bb9c63c8b2 registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

使用 "docker push" 命令将该镜像推送至远程。

$ docker push registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

WordPress镜像制作和上传完成之后,需要回到Docker容器环境中,运行。整体步骤如下(具体操作会在实验环节中呈现):

1、ECS上安装并启动MySQL数据库,创建wordpress数据库,设置用户访问密码。

2、ECS上创建WordPress网站的持久化存储目录/var/www/html。

# 在服务器ECS上创建站点文件持久化存储目录

mkdir -p /var/www/html

3、通过docker run命令,运行WordPress镜像。

# 运行WordPress应用,这里会从docker run命令中携带的registry仓库地址自动去拉取wordpress镜像

docker run --name wordpress -p 80:80 -d -v /var/www/html:/var/www/html registry-vpc.cn-hangzhou.aliyuncs.com/wordpress-xxx/wordpress:v1

4、通过docker ps命令查看WordPress容器的运行状态,确保网站运行正常。

# 查看WordPress容器运行状态,STATUS显示为Up表示运行正常

docker ps -a

5、访问WordPress的公司网站,完成WordPress的数据库等配置,完成网站安装。

相关文章
|
7天前
|
Kubernetes Cloud Native 微服务
云原生之旅:从容器到微服务
【10月更文挑战第29天】在这篇文章中,我们将一起探索云原生的奥秘。云原生不仅仅是一种技术,更是一种文化和方法论。我们将从容器技术开始,逐步深入到微服务架构,最后探讨如何在云平台上实现高效的服务部署和管理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和实用的技能。让我们一起踏上这段激动人心的云原生之旅吧!
|
7天前
|
运维 Kubernetes Cloud Native
云原生之旅:容器化与微服务的融合
【10月更文挑战第28天】 在数字化转型的浪潮中,云原生技术如星辰般璀璨,引领着企业IT架构的未来。本文将带你穿梭于云原生的世界,探索容器化技术和微服务架构如何携手共舞,打造灵活、高效的应用部署和运维模式。我们将通过实际代码示例,揭示这股力量背后的奥秘,并展现它们是如何为现代软件开发带来革新。准备好了吗?让我们启航,驶向云原生技术的深海。
|
9天前
|
Kubernetes 负载均衡 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第27天】Kubernetes(简称K8s)是云原生应用的核心容器编排平台,提供自动化、扩展和管理容器化应用的能力。本文介绍Kubernetes的基本概念、安装配置、核心组件(如Pod和Deployment)、服务发现与负载均衡、网络配置及安全性挑战,帮助读者理解和实践Kubernetes在容器编排中的应用。
35 4
|
7天前
|
Cloud Native 持续交付 云计算
云原生入门指南:从容器到微服务
【10月更文挑战第28天】在数字化转型的浪潮中,云原生技术成为推动现代软件开发的关键力量。本篇文章将带你了解云原生的基本概念,探索它如何通过容器化、微服务架构以及持续集成和持续部署(CI/CD)的实践来提升应用的可伸缩性、灵活性和可靠性。你将学习到如何利用这些技术构建和部署在云端高效运行的应用,并理解它们对DevOps文化的贡献。
25 2
|
10天前
|
Kubernetes 监控 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第26天】随着云计算技术的发展,容器化成为现代应用部署的核心趋势。Kubernetes(K8s)作为容器编排领域的佼佼者,以其强大的可扩展性和自动化能力,为开发者提供了高效管理和部署容器化应用的平台。本文将详细介绍Kubernetes的基本概念、核心组件、实践过程及面临的挑战,帮助读者更好地理解和应用这一技术。
37 3
|
12天前
|
敏捷开发 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
【10月更文挑战第23天】本文将深入探讨云原生技术在现代企业中的广泛应用,并结合具体案例分析其对企业数字化转型的推动作用。我们将从云原生技术的基本原理出发,逐步揭示其在提高业务敏捷性、降低成本和增强系统可靠性方面的优势。同时,文章还将分享一系列成功实施云原生技术的企业案例,为读者提供实践中的参考和启示。最后,我们将讨论云原生技术面临的挑战及未来的发展趋势,为企业在这一领域的进一步探索提供指导。
|
12天前
|
运维 Kubernetes Cloud Native
云原生入门:Kubernetes和容器化的未来
【10月更文挑战第23天】本文将带你走进云原生的世界,探索Kubernetes如何成为现代软件部署的心脏。我们将一起揭开容器化技术的神秘面纱,了解它如何改变软件开发和运维的方式。通过实际的代码示例,你将看到理论与实践的结合,感受到云原生技术带来的革命性影响。无论你是初学者还是有经验的开发者,这篇文章都将为你开启一段新的旅程。让我们一起踏上这段探索之旅,解锁云原生技术的力量吧!
|
13天前
|
Cloud Native 持续交付 云计算
云原生技术深度探索:构建现代化应用的基石####
【10月更文挑战第21天】 本文将深入探讨云原生技术的核心概念、关键技术及其在现代软件开发中的应用。我们将从容器化、微服务架构、持续集成/持续部署(CI/CD)、无服务器架构等关键方面展开,揭示这些技术如何共同作用,帮助企业实现高效、弹性且易于维护的应用部署与管理。通过实例分析,展现云原生技术在实际项目中的显著优势,为读者提供一套全面理解并应用云原生技术的指南。 ####
31 2
|
8天前
|
Cloud Native 安全 持续交付
云原生技术在现代软件开发中的应用与挑战####
本文深入探讨了云原生技术在现代软件开发中的广泛应用及其面临的主要挑战,旨在为开发者和企业提供实用的指导和策略。云原生技术通过其独特的架构和方法论,极大地提升了软件的可扩展性、弹性和敏捷性。然而,随着技术的不断演进,如何有效应对其在安全性、复杂性和成本控制等方面的挑战,成为了业界关注的焦点。本文将详细阐述云原生技术的核心概念、实际应用案例,并针对当前面临的主要挑战提出相应的解决策略。 ####
|
8天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####

热门文章

最新文章

下一篇
无影云桌面