云原生容器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(杭州)
网络及可用区:默认专有网络,随机分配可用区|默认交换机
实例规格:共享标准型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;
通过镜像运行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
释放资源
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
登录阿里云Docker Registry
$ docker login --username=china**@yeah.net registry.cn-beijing.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在访问凭证页面修改凭证密码。
从Registry中拉取镜像
$ docker pull registry.cn-beijing.aliyuncs.com/eza/test:[镜像版本号]
将镜像推送到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]和[镜像版本号]参数。
- 选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-beijing.aliyuncs.com 作为Registry的域名登录。
- 示例
使用"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的数据库等配置,完成网站安装。