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

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 使用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)
    
相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
搜索推荐 测试技术 数据安全/隐私保护
【Docker项目实战】Docker环境下部署NeonLink书签平台
【2月更文挑战第17天】Docker环境下部署NeonLink书签平台
89 0
|
1月前
|
测试技术 API 开发者
【Docker项目实战】在Docker环境下部署go-file文件分享工具
【2月更文挑战第15天】在Docker环境下部署go-file文件分享工具
67 1
|
1月前
|
安全 测试技术 数据安全/隐私保护
【好用的个人工具】Docker环境下部署FileDrop文件共享工具
【2月更文挑战第13天】Docker环境下部署FileDrop文件共享工具
64 2
|
1月前
|
弹性计算 关系型数据库 MySQL
阿里云ECS使用docker搭建mysql服务
阿里云ECS使用docker搭建mysql服务
152 1
|
1月前
|
弹性计算 Ubuntu 搜索推荐
幻兽帕鲁Palworld搭建联机服务器教程,新手搭建流程步骤
随着《幻兽帕鲁》这款开放世界生存游戏的持续火热,越来越多的玩家希望搭建属于自己的游戏服务器,与好友一同探险。那么,怎样才能轻松搭建《幻兽帕鲁》服务器呢?接下来,就跟随我们的脚步,简单几步助你实现梦想!
224 0
|
4天前
|
弹性计算 Java Linux
阿里云服务器搭建部署宝塔详细流程
该内容是一个阿里云服务器和域名的配置指南。首先,需注册阿里云账号并进行企业实名认证。接着,选购服务器如2核2G1兆的Linux系统,并购买域名。完成域名备案后,进行域名解析和ICP备案。然后,通过远程连接登录服务器,重置密码,安装宝塔面板。在安全组中开启宝塔面板随机生成的端口。最后,登录宝塔面板安装LNMP环境,配置数据库如MySQL和Redis,部署JDK、Tomcat,上传前端和后端项目以实现上线。
|
5天前
|
弹性计算 JavaScript Java
阿里云服务器搭建部署宝塔详细流程
以下是内容的摘要: 本文主要介绍了在阿里云上创建和配置服务器环境的步骤,包括注册阿里云账号、实名认证、购买和设置服务器、域名的获取与备案、以及使用宝塔面板安装和配置环境。首先,用户需要注册阿里云账号并进行实名认证,选择合适的服务器配置。接着,购买服务器后,要准备并备案域名,以便通过友好的网址访问网站。在服务器上安装宝塔面板,可以方便地管理和配置LAMP/LNMP/Tomcat/Node.js等应用环境。完成这些步骤后,用户还需要在宝塔面板中安装MySQL、Redis等数据库,部署Java或Vue项目,并配置相关端口。最后,将前端项目打包上传至服务器,并设置站点,即可实现网站的上线。
|
5天前
|
人工智能 安全 云计算
阿里云服务器购买之后发票如何申请?申请发票流程及常见问题参考
申请发票是很多用户尤其是企业级用户在购买完阿里云服务器之后非常关注的问题,对于初次购买阿里云服务器的用户来说,往往并不清楚如何找阿里云申请发票,本文以图文形式为大家介绍阿里云服务器购买完成之后申请发票的详细流程以及常见问题。
阿里云服务器购买之后发票如何申请?申请发票流程及常见问题参考
|
7天前
|
NoSQL 关系型数据库 MySQL
阿里云服务器部署项目流程
本文主要讲解阿里云服务器的部署,如何选择配置等
|
17天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
37 6