Day2:体验ECS搭建Docker环境全流程

简介: 使用ECS可以快速从全新CentOS系统搭建Docker环境。本文介绍了使用ECS搭建Docker环境并在其中部署Nginx服务的全流程。

使用 ECS 可以快速从全新 CentOS 系统搭建 Docker 环境。本文介绍了使用 ECS 搭建 Docker 环境并在其中部署 Nginx 服务的全流程。
其中用到了第三方工具 Xshell,由于 Day1 中已对该工具简要介绍,本文不再赘述。

背景知识

容器技术

容器技术 是指允许用户在资源隔离的过程中,运行应用程序和其依赖项的 、轻量的 、操作系统级别的虚拟化技术。

该技术中,运行应用程序所需的所有必要组件都打包为单个可复用的 镜像 。运行时,镜像会运行在独立的环境中,不与其他程序共享主机操作系统的内存、CPU 或磁盘。这保证了容器内的进程不会影响到容器外的任何进程。

Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器镜像中,然后发布到任何流行的 Linux 机器或 Windows 机器上,实现虚拟化。

Docker 容器是完全使用 沙箱机制 ,相互之间不会有任何接口,其底层采用的是 Linux 的 cgroupnamespace 两项技术来实现应用隔离。

完整的 Docker 环境由以下几个部分组成:

  • Docker Client(客户端)
  • Docker Daemon(守护进程)
  • Docker Image(镜像)
  • Docker Container(容器)

申请 ECS 实例、远程连接 ECS 实例

这两个部分的大部分说明与 Day1 一致,这里不再赘述,主要记录一下遇到的问题。

尝试连接服务器时遇到无法连接错误:

image.png

发现本次实验提供的ECS存在白名单限制,系统识别本地的IP错误导致本地IP不在白名单内:

image.png

可以在IP查询网查看本地外网IP:

image.png

因此,实验前需要 手动修改白名单 IP

  1. 在页面左侧资源栏点击【一键复制登录 URL】,打开浏览器隐身窗口(无痕模式)打卡已复制的登录链接。
    【注意】一定要是 隐身窗口(无痕模式),否则会将主账号顶出登录状态,导致教程无法查看!
  2. 输入资源提供的 子用户名称 和 子用户密码 ,点击 【登录】。
  3. 在左侧菜单选择【云服务器 ECS】,在实例列表中选择唯一的一台实验服务器,然后在打开的页面选择【本实例安全组】。
  4. 点击页面上的【配置规则】。
    image.png
  5. 在编辑页面中选择【入方向】选项卡,确认看到【授权对象】下的 IP 是错误的,点击【编辑】按钮。
    image.png
  6. 这里为了防止本地 IP 为运营商分配的动态 IP 突然变动导致无法访问,将白名单的范围扩大为*.*.*.0/16,其中16表示 IP 最后一个分位块为任意值均可。最后点击保存即可生效。
    image.png

最后再次尝试连接ECS,可以看到连接成功:
image.png

安装 Docker CE

Docker 有两个分支版本:Docker CE(社区版)和 Docker EE(企业版)。

两者的区别主要在于软件许可方式不同(开源/闭源)、支持的操作系统略有区别等,Docker EE 将更加注重安全性,Docker 也会为Docker EE 的用户提供技术支持。

本次体验将基于 ECE(CentOS 7.7)安装 Docker CE

  1. 安装 Docker 依赖库

    yum install -y yum-utils device-mapper-persistent-data lvm2
  2. 添加 Docker CE 的软件源信息

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. 安装 Docker CE

    yum makecache fast
    yum -y install docker-ce
  4. 启动 Docker 服务

    systemctl start docker

配置阿里云镜像加速

Docker 的默认官方远程仓库地址为 hub.docker.com

由于网络原因,下载一个 Docker 官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务 ACR 提供了官方的镜像站点,使用该镜像服务即可加速官方镜像的下载。

下面将 Docker 远程仓库地址修改为阿里云的加速镜像仓库地址。

  1. 登录容器镜像服务控制台

    1. 在页面左侧资源栏点击【一键复制登录 URL】,打开浏览器隐身窗口(无痕模式)输入已复制的登录链接。
    2. 输入资源提供的【子用户名称】和【子用户密码】,点击【登录】;然后搜索容器镜像,点击【容器镜像服务】登录控制台(弹出的开通服务窗口关闭即可)。
  2. 查看专属镜像加速地址
    单击【镜像中心】>【镜像加速器】,可以看到阿里云 ACR 提供了一个专属的镜像加速地址。
  3. 配置 Docker 的自定义镜像仓库地址
    请将下面命令中的镜像仓库地址 https://[随机代码].mirror.aliyuncs.com 替换为阿里云为您提供的专属镜像加速地址。

    tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["https://[随机代码].mirror.aliyuncs.com"]
    }
    EOF
  4. 重新加载服务配置文件

    systemctl daemon-reload
  5. 重启 Docker 服务

    systemctl restart docker

使用 Docker 安装 Nginx 服务

  1. 查看 Docker 镜像仓库中 Nginx 的可用版本

    docker search nginx

    命令输出如下所示:

  2. 拉取最新版的 Nginx 镜像

    docker pull nginx:latest

    命令输出如下所示:

  3. 查看本地镜像

    docker images

    命令输出如下所示:

  4. 运行容器

    docker run --name nginx-test -p 8080:80 -d nginx

    命令参数说明:

    • --name nginx-test:容器名称。
    • -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
    • -d nginx: 设置容器在后台一直运行。
      命令输出如下所示:

  1. 在浏览器地址栏输入 http://[ECS公网地址]:8080 访问 Nginx 服务。

    ![](https://img.alicdn.com/tfs/TB16G73HEz1gK0jSZLeXXb9kVXa-617-252.png)
    
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
11月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
8673 8
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
1487 17
【Docker项目实战】使用Docker部署dufs文件服务器
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
950 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
人工智能 缓存 监控
构建高效MCP客户端:应对多服务器环境的完整指南
本文深入探讨了在多服务器环境下构建高效、可靠的Model Context Protocol(MCP)客户端的关键技术与最佳实践。内容涵盖MCP基础架构、连接管理、请求路由、容错机制、会话管理、性能监控及安全认证等核心设计,提供了完整的实现类与部署配置示例,助力开发者构建高性能MCP客户端,提升AI模型与工具集成的效率与稳定性。
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
755 12
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
1054 5
|
Ubuntu 网络安全 PHP
如何使用vscode的Docker插件管理ubuntu 拉取服务器的镜像以及创建容器
本测试镜像旨在记录使用vscode的Docker插件拉取病创建Dockerfile,以及拉取镜像。
|
安全 关系型数据库 网络安全
安全加固:启动PostgreSQL 14服务器SSL加密的方法指南在CentOS 7环境中
通过上述步骤,你可以为PostgreSQL数据库服务器设置SSL加密,从而增加数据在传输中的安全性。确保维持证书的有效性,并且定期更新和管理密钥,以防止未授权访问。
590 0
|
弹性计算 应用服务中间件 Linux
基于ECS快速搭建Docker环境
本教程介绍如何快速搭建Docker环境,并使用Docker部署一个Nginx服务。
基于ECS快速搭建Docker环境

热门文章

最新文章