华为云云耀云服务器L实例评测|Docker部署及应用

news2024/11/27 22:29:26

文章目录

  • 前言
    • 📣 1.前言概述
    • 📣 2.服务器攻击
      • ✨ 2.1 问题描述
      • ✨ 2.2 处理方法
    • 📣 3.Docker简介
    • 📣 4.安装Docker
      • ✨ 4.1 卸载旧版docker
      • ✨ 4.2 安装依赖包
      • ✨ 4.3 安装GPG证书
      • ✨ 4.4 配置仓库
      • ✨ 4.5 正式安装Docker
      • ✨ 4.6 配置用户组
      • ✨ 4.7 运行docker
      • ✨ 4.8 验证docker
    • 📣 5.使用docker

前言

本次给大家首先介绍下如何通过工单的方式解决云服务受到攻击,并带大家通过云服务器进行Docker的部署及应用。

往期回顾:
1.华为云云耀云服务器L实例评测|Ubuntu云服务器申请使用
2.华为云云耀云服务器L实例评测|Ubuntu系统MySQL 8.1.0 Innovation压测

📣 1.前言概述

在上期对文章中,带大家进行Ubuntu系统MySQL 8.1.0,并通过专业工具进行压力测试,我们一起看看性能。整体来看达到了预期的压侧效果。
同时对云服务器性能监控做了详细的描述,本次给大家首先介绍下如何通过工单的方式解决云服务受到攻击,并带大家通过云服务器进行Docker的部署及应用。

在这里插入图片描述

📣 2.服务器攻击

✨ 2.1 问题描述

购买云服务器后,安装了PG数据库后,由于密码设置的过于简单,而且端口也使用的默认的端口,故别恶意攻击,在华为云官网收到了如下的信息
问题描述: 华为云发现您的资源涉及对外攻击行为,该情况已对华为云的服务产生严重影响,违反了国家法律法规及《华为云用户协议》的相关规定。华为云即将对您的异常IP资源进行冻结,并请您采取相关安全防护措施。下午为恶意攻击,异常的信息。

在这里插入图片描述

✨ 2.2 处理方法

1)进入控制台,点开工单
2)新建工单,按照如下图选择相应的信息录入,等待客户消息即可
3)收到客服的反馈后,确实服务很周到,第一时间定位到问题并处理,超级赞!
本次恶意攻击的原因是:

您好,对于您咨询的,如沟通针对您的问题这边已经进行了排查,
【造成问题的原因】:疑似postgressql弱口令导致
【解决办法】:客户已删除木马文件并重启主机,已解封ip,为了后续业务安全,方便的话最好是备份重装一下,因为被入侵的主机已经不可信任了,不能排除是不是有其他后门。客户明文暴露您的密码,不利于信息安全,建议工单结束后修改密码,后期linux主机加固建议:

1、设置所有OS系统口令(包括管理员和普通用户)、数据库账号口令、应用(WEB)系统管理账号口令为强口令,密码12位以上;将主机登录方式改为秘钥登录彻底规避风险:
 强口令设置要求参照:https://bbs.huaweicloud.com/blogs/87a98385ec6411e79fc57ca23e93a89f
 秘钥登录设置参照:https://bbs.huaweicloud.com/blogs/eff0e5af7d7f11e7b8317ca23e93a891
2、严格控制系统管理员账户的使用范围,为应用和中间件配置各自的权限和并严格控制使用范围。
 禁止不必要的端口直接暴露在公网,设置防火墙规则或配置安全组策略来禁止端口开放情况;非公共开放的业务端口(如SSH),建议设置只允许特定的IP进行连接;安全组配置示例链接如下:https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0081124350.html
3、启动安全组白名单策略,根据业务需求对外开放端口,对于特殊业务端口,建议设置固定的来源IP(如:远程登录)或使用VPN、堡垒机建立自己的运维通道。
4.建议定期做好数据备份(虚拟机内部备份,异地备份,云上云下备份等),避免被加密勒索;
5.定期检查系统和软件中的安全漏洞,及时打上补丁
如您的问题已经解决请您点击工单右上角 “关闭工单” 结束本次服务;如果您仍需帮助,请您驳回并留言,我们将继续为您解答。如您在此单授权中,提供了登录密码等机密信息,为了您的资源安全,请您在关单后尽快修改,感谢您的支持与理解,祝您生活愉快!

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

📣 3.Docker简介

可以简单认为,容器是一个超级轻量级的虚拟机(主机),容器和容器之间的进程是相互隔离的。
使用容器给我们带来的好处:
A.供节点,可以当做一台主机来使用,就像使用物理机一样的来使用docker容器
B.可以在一台虚拟机上(192.168.12.12)安装配置2个Mysql实例,它们的端口都是3306端口。
C.可以把我们的应用程序进行打包。软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来,开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。
Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。

在这里插入图片描述

📣 4.安装Docker

首先要确定自己的操作系统版本,通过以下命令
root@hcss-ecs-7c99:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
本次我们用的是Ubuntu系统,则按照以下方法进行安装进行,本次安装的是dcoker-ce

✨ 4.1 卸载旧版docker

如果你的云服务器之前已经安装了docker,则按照以下命令卸载原有的docker
root@hcss-ecs-7c99:~# apt-get remove docker docker-engine docker.io containerd runc

✨ 4.2 安装依赖包

##获取最新的软件包
root@hcss-ecs-7c99:~# sudo apt-get update
Hit:1 http://repo.huaweicloud.com/ubuntu jammy InRelease
Get:2 http://repo.huaweicloud.com/ubuntu jammy-updates InRelease [119 kB]
Get:3 http://repo.huaweicloud.com/ubuntu jammy-backports InRelease [109 kB]
Get:4 http://repo.huaweicloud.com/ubuntu jammy-security InRelease [110 kB]
Get:5 http://repo.huaweicloud.com/ubuntu jammy-updates/main amd64 Packages [1,014 kB]
Fetched 1,352 kB in 0s (3,769 kB/s)
Reading package lists… Done
##安装依赖包
root@hcss-ecs-7c99:~# sudo apt-get install ca-certificates curl gnupg lsb-release

✨ 4.3 安装GPG证书

root@hcss-ecs-7c99:~# curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

✨ 4.4 配置仓库

add-apt-repository “deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable”

在这里插入图片描述

✨ 4.5 正式安装Docker

apt-get install docker-ce docker-ce-cli containerd.io

root@hcss-ecs-7c99:~# sudo docker version
Client: Docker Engine - Community
 Version:           24.0.6
 API version:       1.43
 Go version:        go1.20.7
 Git commit:        ed223bc
 Built:             Mon Sep  4 12:31:44 2023
 OS/Arch:           linux/amd64
 Context:           default
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?


默认情况下 Docker的存放位置为:/var/lib/docker
root@hcss-ecs-7c99:~# ll /var/lib/docker
total 44
drwx--x--- 10 root root 4096 Oct  2 10:52 ./
drwxr-xr-x 53 root root 4096 Oct  2 09:43 ../
drwx--x---  2 root root 4096 Oct  2 09:43 containers/
-rw-------  1 root root   36 Oct  2 09:43 engine-id
drwx------  3 root root 4096 Oct  2 09:43 image/
drwxr-x---  3 root root 4096 Oct  2 09:43 network/
drwx--x---  3 root root 4096 Oct  2 10:52 overlay2/
drwx------  4 root root 4096 Oct  2 09:43 plugins/
drwx------  2 root root 4096 Oct  2 10:52 runtimes/
drwx------  2 root root 4096 Oct  2 10:52 tmp/
drwx-----x  2 root root 4096 Oct  2 10:52 volumes/


安装必要的一些系统工具
apt-get -y install apt-transport-https ca-certificates curl software-properties-common

在这里插入图片描述

✨ 4.6 配置用户组

默认情况下,只有root用户和docker组的用户才能运行Docker命令。
我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。
命令如下:sudo usermod -aG docker $USER

✨ 4.7 运行docker

1.启动过程有如下报错,解决办法如下
root@hcss-ecs-7c99:~# systemctl start docker
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xeu docker.service" for details.

root@hcss-ecs-7c99:~# systemctl status docker.service
× docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Mon 2023-10-02 10:52:21 CST; 26s ago
TriggeredBy: × docker.socket
       Docs: https://docs.docker.com
    Process: 80797 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
   Main PID: 80797 (code=exited, status=1/FAILURE)
        CPU: 104ms

Oct 02 10:52:19 hcss-ecs-7c99 systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Oct 02 10:52:19 hcss-ecs-7c99 systemd[1]: docker.service: Failed with result 'exit-code'.
Oct 02 10:52:19 hcss-ecs-7c99 systemd[1]: Failed to start Docker Application Container Engine.
Oct 02 10:52:21 hcss-ecs-7c99 systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
Oct 02 10:52:21 hcss-ecs-7c99 systemd[1]: Stopped Docker Application Container Engine.
Oct 02 10:52:21 hcss-ecs-7c99 systemd[1]: docker.service: Start request repeated too quickly.
Oct 02 10:52:21 hcss-ecs-7c99 systemd[1]: docker.service: Failed with result 'exit-code'.
Oct 02 10:52:21 hcss-ecs-7c99 systemd[1]: Failed to start Docker Application Container Engine.

--解决办法如下:
进入 /etc/docker
查看有没有daemon.json文件,如果没有就自己新建一个:
# 添加 docker 配置 /etc/docker/daemon.json
{
 "registry-mirrors": ["https://registry.docker-cn.com"]
}

通过以下方法重名命后,重启服务器即可
mv /etc/docker/daemon.json daemon.conf

root@hcss-ecs-7c99:~# systemctl start docker
root@hcss-ecs-7c99:~# systemctl status docker
root@hcss-ecs-7c99:~# systemctl enable docker

在这里插入图片描述

✨ 4.8 验证docker

root@hcss-ecs-7c99:~# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
719385e32844: Pull complete 
Digest: sha256:4f53e2564790c8e7856ec08e384732aa38dc43c52f02952483e3f003afbf23db
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
 
 
root@hcss-ecs-7c99:~# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    9c7a54a9a43c   5 months ago   13.3kB

装为docker后,顺便看了下华为云服务器的监控,一切都好
在这里插入图片描述

📣 5.使用docker

##拥有自己的云服务器Centos7.8

1)拉取镜像
docker pull daocloud.io/library/centos:centos7.8.2003

root@hcss-ecs-7c99:~# docker images
REPOSITORY                   TAG              IMAGE ID       CREATED        SIZE
hello-world                  latest           9c7a54a9a43c   5 months ago   13.3kB
daocloud.io/library/centos   centos7.8.2003   afb6fca791e0   3 years ago    203MB

2)创建容器
docker run -d --name centos7.8 -h centos7.8 \
-p 220:22 -p 3387:3389 \
--privileged=true \
daocloud.io/library/centos:centos7.8.2003 /usr/sbin/init

3)进入容器
root@hcss-ecs-7c99:~# docker exec -it centos7.8 bash
[root@centos7 /]# cat /etc/redhat-release 
CentOS Linux release 7.8.2003 (Core)
[root@centos7 /]# uname -r
5.15.0-60-generic
[root@centos7 /]# uname -a
Linux centos7.8 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

非常开心,已经拥有自己的一台服务器了,后期可以做一些应用部署

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

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

相关文章

Spring Boot的魔法:构建高性能Java应用

文章目录 Spring Boot:简化Java开发Spring Boot的性能优势1. 内嵌服务器2. 自动配置3. 起步依赖4. 缓存和优化5. 异步处理 实际示例:构建高性能的RESTful API总结 🎉欢迎来到架构设计专栏~Spring Boot的魔法:构建高性能Java应用 ☆…

洛谷P1102 A-B 数对题解

目录 题目A-B 数对题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示传送门 代码解释亲测 题目 A-B 数对 题目背景 出题是一件痛苦的事情! 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 AB Problem,改用 …

Python与Scrapy:构建强大的网络爬虫

网络爬虫是一种用于自动化获取互联网信息的工具,在数据采集和处理方面具有重要的作用。Python语言和Scrapy框架是构建强大网络爬虫的理想选择。本文将分享使用Python和Scrapy构建强大的网络爬虫的方法和技巧,帮助您快速入门并实现实际操作价值。 一、Pyt…

“链圈”十年反思

2013 年 11 月,Vitalik Buterin 发表了以太坊白皮书的第一个版本。事后人们经常把这视为“区块链 2.0” 时代开启的标志,但在当时,其实是以太坊的出现才使得“区块链”作为一项单独的技术从“数字货币”当中分离出来。换句话说,比…

基于Java的大学生英语考试答题系统设计与实现(亮点:答题系统、报名系统、在线视频、在线聊天、附件下载)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

2023 年最佳多 GPU 深度学习系统指南

动动发财的小手,点个赞吧! 本文[1]提供了有关如何构建用于深度学习的多 GPU 系统的指南,并希望为您节省一些研究时间和实验时间。 1. GPU 让我们从有趣(且昂贵)的部分开始! 购买 GPU 时的主要考虑因素是&am…

flutter开发实战-webview插件flutter_inappwebview使用

flutter开发实战-webview插件flutter_inappwebview使用 在开发过程中,经常遇到需要使用WebView,Webview需要调用原生的插件来实现。常见的flutter的webview插件是webview_flutter,flutter_inappwebview。之前整理了一下webview_flutter&…

htb-cozyhosting

HTB-CozyHosting https://app.hackthebox.com/machines/CozyHosting ──(kwkl㉿kwkl)-[~] └─$ tail -l /etc/hosts …

凉鞋的 Unity 笔记 103. 检视器:GameObject 的微观编辑和查看

103. 检视器:GameObject 的微观编辑和查看 在上一篇,笔者简单介绍了场景层次 与 GameObject 的增删改查,如下所示: 在这一篇,我们接着往下学习。 我们知道在 场景层次 窗口,可以对 GameObject 进行增删改…

金融帝国实验室(CapLab)官方更新_V9.1.15版本(2023年第64次)

〖金融帝国实验室〗(Capitalism Lab)游戏更新记录(2023年度) ————————————— ◎游戏开发:Enlight Software Ltd.(微启软件有限公司) ◎官方网站:https://www.capitalis…

力扣-338.比特位计数

Idea 直接暴力做法&#xff1a;计算从0到n&#xff0c;每一位数的二进制中1的个数&#xff0c;遍历其二进制的每一位即可得到1的个数 AC Code class Solution { public:vector<int> countBits(int n) {vector<int> ans;ans.emplace_back(0);for(int i 1; i < …

洛谷P5732 【深基5.习7】杨辉三角题解

目录 题目【深基5.习7】杨辉三角题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1传送门 代码解释亲测 题目 【深基5.习7】杨辉三角 题目描述 给出 n ( n ≤ 20 ) n(n\le20) n(n≤20)&#xff0c;输出杨辉三角的前 n n n 行。 如果你不知道什么是杨辉三角&#xf…

基于SpringBoot的每日推购物推荐网站的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 商品信息管理 销售排行统计 商品类型管理 个人信息 商品 我的订单管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息互联网购物的飞速发展&#xff0c;一般企业都去创建属于自己的电商平台以及购物管…

Emacs之default-tab-width与tab-width用法总结(一百二十九)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

IO流之File类

File类 File 对应的硬盘上的文件或者文件夹 位于java.io包下 File对文件/文件夹进行操作&#xff0c;但是无法对文件内容进行操作&#xff0c;读取/写入不可以操作&#xff0c;但是可以创文件夹/读取文件路径,IO流才可以进行操作 文件/文件夹的路径&#xff1a;linux使用/作为文…

【剑指Offer】8.二叉树的下一个结点

题目 给定一个二叉树其中的一个结点&#xff0c;请找出中序遍历顺序的下一个结点并且返回。注意&#xff0c;树中的结点不仅包含左右子结点&#xff0c;同时包含指向父结点的next指针。下图为一棵有9个节点的二叉树。树中从父节点指向子节点的指针用实线表示&#xff0c;从子节…

SSM 中的拦截器(Interceptor):作用与实现原理

SSM 中的拦截器&#xff08;Interceptor&#xff09;&#xff1a;作用与实现原理 拦截器&#xff08;Interceptor&#xff09;是 Spring 框架中的一个重要组件&#xff0c;也在 Spring Spring MVC MyBatis&#xff08;SSM&#xff09;等框架中起到了关键作用。本文将深入探讨…

阿里云关系型数据库RDS详细说明

阿里云RDS关系型数据库大全&#xff0c;关系型数据库包括MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等&#xff0c;NoSQL数据库如Redis、Tair、Lindorm和MongoDB&#xff0c;阿里云百科分享阿里云RDS关系型数据库大全&#xff1a; 目录 阿里云RDS关系型数据库大全 …

基于Java的在线课程教程计划管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

已解决: Go Error: no Go files in /path/to/directory问题

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页: &#x1f405;&#x1f43e;猫头虎的博客&#x1f390;《面试题大全专栏》 &#x1f995; 文章图文并茂&#x1f996…