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
目录
相关文章
|
9月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
421 5
|
9月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
8061 8
|
11月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
651 16
|
12月前
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
1375 17
【Docker项目实战】使用Docker部署dufs文件服务器
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
就这样,你成功地用魔法召唤出了RabbitMQ,还把它和你的应用程序连接了起来。现在,消息会像小溪流水一样,在你的系统中自由流淌。别忘了,兔子们不喜欢孤独,他们需要你细心的关怀,不时地监控它们,确保他们的世界运转得井井有条。
754 18
|
NoSQL Redis Docker
Docker——阿里云服务器利用docker搭建redis集群
本文详细记录了使用Docker搭建Redis集群的过程,包括检查Docker和Docker Compose的安装、创建Redis配置文件、编写`docker-compose.yml`文件、启动Redis节点、创建Redis集群的具体步骤,以及最终的验证方法。文章还提供了在多服务器环境下搭建Redis集群的注意事项,帮助读者全面了解 Redis 集群的部署流程。
1846 68
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
718 12
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
至此,这次神秘而简明的部署之旅告一段落。祝你在利用RabbitMQ打造消息队列时,一切顺风顺水!
789 8
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
903 5

热门文章

最新文章