【玩转云耀云服务器HECS】华为云之使用HECS部署Docker测试环境

举报
江湖有缘 发表于 2023/02/28 01:54:51 2023/02/28
【摘要】 【玩转云耀云服务器HECS】华为云之使用HECS部署Docker测试环境

一、HECS云耀云服务器介绍

云耀云服务器(Hyper Elastic Cloud Server)是一种可以快速搭建且易于管理的新一代云服务器,支持全方位性能监测,快速锁定中高风险信息并及时提出建议,确保业务平稳运行;同时提供开箱即用的镜像,实现一键应用部署,助力中小企业便捷高效的在云端构建电商网站、Web应用、小程序、学习环境、各类开发测试等,简单上云快一步!

image.png

二、本次实践目的

1.熟练使用华为云HECS云耀云服务器。
2.使用HECS部署远程Docker测试环境。
3.使用docker部署一个web测试应用。
4.熟练使用华为EulerOS操作系统。

三、购买华为云HECS云耀云服务器

1.购买说明

1.新用户可以直接前往开发者试用专区,免费领取ECS云耀云服务器,
官网地址:https://activity.huaweicloud.cn/free_test/index.html
2.老用户直接选择包月购买即可。

image.png

2.进入购买界面

登录华为云官网,控制台——服务列表——云耀云服务器HECS

image.png

image.png

3.购买华为云HECS云耀云服务器

选择购买HECS云耀云服务器

image.png

区域:可定义,这里选择是西南——贵阳一;
系统镜像:选择华为EulerOS操作系统;
配置:选择入门型的即可,用于学习和测试;
密码:设置root密码,自定义。

image.png

增值服务:可勾选“开启详细云监控”,免费试用;
购买时长:选择一个月即可;
购买量:1台;
配置完毕后,选择立即购买

image.png

image.png
image.png

4.查看购买的HECS状态

选择服务列表——云耀云服务器HECS,进入HECS控制台,看到刚购买的HECS云耀云服务器。

image.png

image.png

四、本地远程连接HECS

1.查看HECS的弹性公网IP

在HECS控制面板,查看当前云服务器的弹性公网IP。

image.png

2.本地连接HECS

打开本地Xshell工具,输入公网IP,云服务器的账号密码进行远程连接。

image.png

五、HECS云服务器初始环境配置

1.检查HECS云服务器环境

  • 检查HECS服务器系统版本
[root@hecs-4981 ~]# cat /etc/os-release 
NAME="Huawei Cloud EulerOS"
VERSION="2.0 (x86_64)"
ID="hce"
VERSION_ID="2.0"
PRETTY_NAME="Huawei Cloud EulerOS 2.0 (x86_64)"
ANSI_COLOR="0;31"

  • 检查HECS云服务器内核版本
[root@hecs-4981 ~]# uname -r 
5.10.0-60.18.0.50.r665_5.hce2.x86_64

2.修改SSH连接时间

通过修改/etc/ssh/sshd_config文件,来修改云服务器与本地SSH连接时间。
ClientAliveInterval 60   #server每隔60秒发送一次请求给client(连接保持的时间),然后client响应,从而保持连接
ClientAliveCountMax 300  #server发出请求后,客户端没有响应得次数达到300,就自动断开连接

[root@hecs-4981 ~]# grep Client /etc/ssh/sshd_config
ClientAliveInterval 60
ClientAliveCountMax 300

3.重启sshd服务

修改完ssh配置后,重启sshd服务。

systemctl restart sshd

4.修改系统环境变量

在/etc/profile文件最后一行加入export TMOUT=1800

[root@hecs-4981 ~]# grep export /etc/profile
    export HISTCONTROL=ignoreboth
    export HISTCONTROL=ignoredups
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export  TMOUT=1800


使配置生效

[root@hecs-4981 ~]# source /etc/profile
[root@hecs-4981 ~]# 


5.设置命令补全

使用以下命令设置命令tab键补全功能,重启系统后生效。

[root@hecs-4981 ~]# yum -y install bash-completion.noarch

6.检查yum仓库状态

检查本地yum仓库状态,默认使用的华为的镜像源。

[root@hecs-4981 ~]# yum repolist all
repo id                                                           repo name                                                                 status
base                                                              HCE 2.0 base                                                              enabled
debuginfo                                                         HCE 2.0 debuginfo                                                         disabled
updates                                                           HCE 2.0 updates                                                           enabled

六、安装docker

1.配置docker的镜像源

添加docker镜像源

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

2.检查yum仓库各镜像源状态

  • 修改docker-ce.repo文件
sed  -i 's/$releasever/7.6/g ' /etc/yum.repos.d/docker-ce.repo
sed  -i 's/$basearch/x86_64/g ' /etc/yum.repos.d/docker-ce.repo
  • 生成本地缓存
[root@hecs-4981 ~]# yum makecache
Docker CE Stable - x86_64                                                                                            87 kB/s |  53 kB     00:00    
HCE 2.0 base                                                                                                        269 kB/s | 3.0 kB     00:00    
HCE 2.0 updates                                                                                                     156 kB/s | 3.0 kB     00:00    
Metadata cache created.

  • 检查yum仓库状态
[root@hecs-4981 ~]# yum repolist all |grep enable 
base                           HCE 2.0 base                             enabled
docker-ce-stable               Docker CE Stable - x86_64                enabled
updates                        HCE 2.0 updates                          enabled

3.安装docker

查找Docker-CE的版本

[root@hecs-4981 ~]# yum list docker-ce.x86_64 --showduplicates | sort -r
Last metadata expiration check: 0:07:41 ago on Tue 28 Feb 2023 12:58:49 AM CST.
docker-ce.x86_64            3:23.0.1-1.el7                      docker-ce-stable
docker-ce.x86_64            3:23.0.0-1.el7                      docker-ce-stable
docker-ce.x86_64            3:20.10.9-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.8-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.7-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.6-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.5-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.4-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.3-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.2-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.23-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.22-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.21-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.20-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.19-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.18-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.17-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.16-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.15-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.14-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.1-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.13-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.12-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.11-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.10-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.0-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.9-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.8-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.7-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.6-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.5-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.4-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.3-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.2-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.15-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.14-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.1-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.13-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.12-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.11-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.10-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.0-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.9-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.8-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.7-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.6-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.5-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.4-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.3-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.2-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.1-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.0-3.el7                     docker-ce-stable
docker-ce.x86_64            18.06.3.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.2.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.1.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.0.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.09.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.09.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.2.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.3.ce-1.el7                    docker-ce-stable
docker-ce.x86_64            17.03.2.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.0.ce-1.el7.centos             docker-ce-stable
Available Packages

使用yum直接安装docker,安装指定版本的Docker-CE,
需要后面加上版本号,直接安装docker最新版的会报错。

yum -y install docker-ce-3:19.03.7-3.el7

4.配置docker加速

配置docker的镜像加速地址

mkdir -p /etc/docker   #创建docker配置文件
echo '{ "registry-mirrors": ["https://tdfop3o8.mirror.aliyuncs.com"] }'   > /etc/docker/daemon.json   #配置镜像加速地址

5.重启dokcer服务

[root@hecs-4981 ~]# systemctl daemon-reload  && systemctl restart docker

6.查看docker版本

[root@hecs-4981 ~]# docker version
Client: Docker Engine - Community
 Version:           23.0.1
 API version:       1.40 (downgraded from 1.42)
 Go version:        go1.19.5
 Git commit:        a5ee5b1
 Built:             Thu Feb  9 19:51:00 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          19.03.7
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       7141c199a2
  Built:            Wed Mar  4 01:22:45 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.18
  GitCommit:        2456e983eb9e37e47538f59ea18f2043c9a73640
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683


7.查看docker状态

检查当前的docker状态,docker服务是否正常启动。

[root@hecs-4981 ~]# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
     Active: active (running) since Tue 2023-02-28 01:22:22 CST; 1min 21s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 6284 (dockerd)
      Tasks: 8
     Memory: 75.5M
     CGroup: /system.slice/docker.service
             └─ 6284 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Feb 28 01:22:21 hecs-4981 dockerd[6284]: time="2023-02-28T01:22:21.772220840+08:00" level=info msg="ClientConn switching balancer to \"pick_first\">
Feb 28 01:22:21 hecs-4981 dockerd[6284]: time="2023-02-28T01:22:21.800446265+08:00" level=warning msg="Your kernel does not support cgroup blkio we>
Feb 28 01:22:21 hecs-4981 dockerd[6284]: time="2023-02-28T01:22:21.800465375+08:00" level=warning msg="Your kernel does not support cgroup blkio we>
Feb 28 01:22:21 hecs-4981 dockerd[6284]: time="2023-02-28T01:22:21.800574646+08:00" level=info msg="Loading containers: start."
Feb 28 01:22:22 hecs-4981 dockerd[6284]: time="2023-02-28T01:22:22.043355440+08:00" level=info msg="Default bridge (docker0) is assigned with an IP>
Feb 28 01:22:22 hecs-4981 dockerd[6284]: time="2023-02-28T01:22:22.110311585+08:00" level=info msg="Loading containers: done."
Feb 28 01:22:22 hecs-4981 dockerd[6284]: time="2023-02-28T01:22:22.188212662+08:00" level=info msg="Docker daemon" commit=7141c199a2 graphdriver(s)>
Feb 28 01:22:22 hecs-4981 dockerd[6284]: time="2023-02-28T01:22:22.188302768+08:00" level=info msg="Daemon has completed initialization"
Feb 28 01:22:22 hecs-4981 systemd[1]: Started Docker Application Container Engine.
Feb 28 01:22:22 hecs-4981 dockerd[6284]: time="2023-02-28T01:22:22.224392151+08:00" level=info msg="API listen on /run/docker.sock"
lines 1-21/21 (END)


8.配置路由转发

配置路由转发

[root@hecs-4981 ~]# echo "net.ipv4.ip_forward=1" >>  /etc/sysctl.conf
[root@hecs-4981 ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

七、部署一个web服务

1.创建一个nginx容器

创建一个nginx容器,需要等待一段时间,容器镜像进行下载。

[root@hecs-4981 test]# ls
[root@hecs-4981 test]# pwd
/test
[root@hecs-4981 test]# docker run -d --name web01 -v $(pwd):/usr/share/nginx/html -p 8660:80 nginx:1.21
53662754921c506172ac9cf35d96eb4bc4823830dd08298709b3c99619cc5a00

2.查看nginx容器状态

使用docker ps命令查看容器状态

[root@hecs-4981 test]# docker ps
CONTAINER ID   IMAGE        COMMAND                  CREATED          STATUS          PORTS                  NAMES
53662754921c   nginx:1.21   "/docker-entrypoint.…"   18 seconds ago   Up 16 seconds   0.0.0.0:8660->80/tcp   web01


3.关闭selinux

  • 检查防火墙状态,选择防火墙开启需要放行8660端口。
[root@hecs-4981 ~]# systemctl status firewalld
○ firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: man:firewalld(1)

  • 关闭selinux

[root@hecs-4981 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@hecs-4981 ~]# setenforce 0
setenforce: SELinux is disabled
[root@hecs-4981 ~]# getenforce 
Disabled


3.本地测试访问

root@hecs-4981 test]# echo huawei-hecs  > index.html
[root@hecs-4981 test]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether fa:16:3e:8f:e7:79 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.146/24 brd 192.168.0.255 scope global dynamic noprefixroute eth0
       valid_lft 79421sec preferred_lft 79421sec
    inet6 fe80::f816:3eff:fe8f:e779/64 scope link 
       valid_lft forever preferred_lft forever
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:cb:ed:81:f2 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:cbff:feed:81f2/64 scope link 
       valid_lft forever preferred_lft forever
7: vethf347fbc@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default 
    link/ether 66:84:6b:64:87:00 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::6484:6bff:fe64:8700/64 scope link 
       valid_lft forever preferred_lft forever
[root@hecs-4981 test]# curl 192.168.0.146:8660
huawei-hecs


image.png

八、本地访问HECS的web服务

1.查看HECS的安全组

打开HECS控制台,查看HECS的安全组。

image.png
image.png

image.png

2.安全组放行端口

服务列表——弹性云服务器ECS。

image.png
image.png

选择安全组,打开所有安全组列表。
image.png
image.png

选择与HECS绑定的安全组,配置规则,入方向放行8660端口。

image.png
image.png

3.本地电脑访问HECS的web服务

打开浏览器,地址栏输入http://140.210.218.184:8660/,成功访问到web服务内容。

image.png

【玩转“云耀云服务器(HECS)”有奖征文来袭!惊喜大礼包激励等你来拿!】有奖征文第20期正在火热进行中:
https://bbs.huaweicloud.cn/blogs/391930

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。