【玩转云耀云服务器HECS】华为云之使用HECS部署Docker测试环境
一、HECS云耀云服务器介绍
云耀云服务器(Hyper Elastic Cloud Server)是一种可以快速搭建且易于管理的新一代云服务器,支持全方位性能监测,快速锁定中高风险信息并及时提出建议,确保业务平稳运行;同时提供开箱即用的镜像,实现一键应用部署,助力中小企业便捷高效的在云端构建电商网站、Web应用、小程序、学习环境、各类开发测试等,简单上云快一步!
二、本次实践目的
1.熟练使用华为云HECS云耀云服务器。
2.使用HECS部署远程Docker测试环境。
3.使用docker部署一个web测试应用。
4.熟练使用华为EulerOS操作系统。
三、购买华为云HECS云耀云服务器
1.购买说明
1.新用户可以直接前往开发者试用专区,免费领取ECS云耀云服务器,
官网地址:https://activity.huaweicloud.cn/free_test/index.html
2.老用户直接选择包月购买即可。
2.进入购买界面
登录华为云官网,控制台——服务列表——云耀云服务器HECS
3.购买华为云HECS云耀云服务器
选择购买HECS云耀云服务器
区域:可定义,这里选择是西南——贵阳一;
系统镜像:选择华为EulerOS操作系统;
配置:选择入门型的即可,用于学习和测试;
密码:设置root密码,自定义。
增值服务:可勾选“开启详细云监控”,免费试用;
购买时长:选择一个月即可;
购买量:1台;
配置完毕后,选择立即购买
4.查看购买的HECS状态
选择服务列表——云耀云服务器HECS,进入HECS控制台,看到刚购买的HECS云耀云服务器。
四、本地远程连接HECS
1.查看HECS的弹性公网IP
在HECS控制面板,查看当前云服务器的弹性公网IP。
2.本地连接HECS
打开本地Xshell工具,输入公网IP,云服务器的账号密码进行远程连接。
五、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
八、本地访问HECS的web服务
1.查看HECS的安全组
打开HECS控制台,查看HECS的安全组。
2.安全组放行端口
服务列表——弹性云服务器ECS。
选择安全组,打开所有安全组列表。
选择与HECS绑定的安全组,配置规则,入方向放行8660端口。
3.本地电脑访问HECS的web服务
打开浏览器,地址栏输入http://140.210.218.184:8660/,成功访问到web服务内容。
【玩转“云耀云服务器(HECS)”有奖征文来袭!惊喜大礼包激励等你来拿!】有奖征文第20期正在火热进行中:
https://bbs.huaweicloud.cn/blogs/391930
- 点赞
- 收藏
- 关注作者
评论(0)