Class2.基于ECS快速搭建Docker环境
写在前面: 利用ECS搭建Docker环境其实是相对比较简单的,在连接服务器时,我也出现了
error: connection timed out
,在客户端防火墙没有拦截的情况下,解决办法是重新创建一个服务器端。言归正传,今天的内容主要是讲解容器技术,我们选择的应用容器引擎是Docker。本文将先介绍容器技术和Docker的背景,再具体基于ECS讲解快速搭建Docker环境的步骤。
阿里云ECS7天实践训练营
本文关键字:阿里云,ECS,Docker,容器技术,Nginx
文章目录
一、背景介绍
1、容器技术
1)容器的概念
容器是一个允许我们在资源隔离的过程中,运行应用程序和其依赖项的 、轻量的 、操作系统级别的虚拟化技术, 运行应用程序所需的所有必要组件都打包为单个镜像,这个镜像是可以重复使用的。当镜像运行时,它是运行在独立的环境中,并不会和其他的应用共享主机操作系统的内存、CPU或磁盘。这保证了容器内的进程不会影响到容器外的任何进程。
2)容器与虚拟机
虚拟机包括操作系统、应用程序,较大,启动较慢。与虚拟机相比,容器这种轻量级的虚拟化性能要好得多,几乎可以立即启动 。对于容器来说,虽然具有可移植、安全、敏捷等特点,但是容器技术比虚拟机更复杂,且作为一个新生技术尚未完全成熟。
2、Docker的介绍
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker底层用的Linux的cgroup和namespace这两项技术来实现应用隔离,一个完整的Docker有以下几个部分组成:
Docker Client客户端
Docker Daemon守护进程
Docker Image镜像
Docker Container容器
二、 创建资源
1. 查看实验资源
在页面左侧,单击云产品资源下拉菜单,查看本次实验资源。
2. 单击免费开通创建所需资源
开通成功:
说明:资源创建过程需要1~3分钟。完成实验资源的创建后,您可以在云产品资源列表查看已创建的资源信息,例如:IP地址、用户名和密码等。
三、连接ECS服务器
1.选择一个终端工具
windows推荐:Powershell、CMD、Putty
mac推荐:Terminal
下面就以Windows自带的PowerShell工具为例子进行连接演示:
2.确认ssh工具是否安装
只需输入:
ssh -V
如下图显示版本号则安装成功
如若不然,则处于未安装ssh工具状态, 请先下载安装OpenSSH。
3.进行连接
确保了ssh工具安装之后,在终端输入
在终端中输入连接命令 ssh [username]@[ipaddress]
例如username=root,弹性地址为123.123.123.123
则输入 `
ssh root@123.123.123.123`
**【注意:私有地址只能内网连接,这里必须填弹性地址】**如图:
如图所示,在输入ssh [username]@[ipaddress]后它会问你是否想继续连接,你只需要输入
yes
然后输入密码,再按回车就可以了,如果成功,则会有下面界面
到这里,我们已经成功的连上了ECS服务器了。
【注:如果出现连接不上的情况,主要可通过以下几个方面去排查问题】
1)最常见的错误是密码错误,密码尽量不要手打,可以直接复制粘贴。
点左侧ECS服务器信息栏中密码项右上角图标可以进行复制,然后在cmd,PowerShell或者putty等终端工具按鼠标右键就可以粘贴了
2)ssh服务是否正常运行,输入ssh -V是否出现版本号
3)实在不行的话建议可以换一个终端工具再试一试,或者也可以重新再创建一个云服务器。(确实可能会有用,我在写这篇文章的时候就遇到了,连接服务器没有任何反应的话重新创建一个服务器是可以正常连接的)
四、安装Docker CE
1、Docker的版本
Docker分为DockerCE和DockerEE,即是社区版和企业版,我们接下来要安装的是社区版。
2、安装Docker的依赖库。
yum install -y yum-utils device-mapper-persistent-data lvm2
成功如下:
3. 添加Docker CE的软件源信息。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
成功如下:
4、安装Docker CE
yum makecache fast
成功如下:
yum -y install docker-ce
成功如下:
说明:请耐心等待,我当时安装用了将近一分钟的时间。
五、配置阿里云镜像仓库(镜像加速)
说明:Docker的默认官方远程仓库是hub.docker.com,由于网络原因,下载一个Docker官方镜像会很慢甚至失败,因此阿里云容器镜像服务ACR提供了官方的镜像站点,从而加速官方镜像的下载。下面介绍如何使用阿里云镜像仓库的具体步骤。
1、找到阿里云提供的镜像加速地址
登录子帐户,单击【镜像中心】 > 【镜像加速器】,可以看到阿里云为您提供了一个专属的镜像加速地址。
复制如图链接即可:
2、 配置Docker的自定义镜像仓库地址。
请将下面命令中的镜像仓库地址https://kqh8****.mirror.aliyuncs.com替换为阿里云为您提供的专属镜像加速地址。
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF
如下图:
3、 重新加载服务配置文件。
systemctl daemon-reload
4、 重启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: 设置容器在后台一直运行。
成功如下截图:
5、测试
在浏览器地址栏输入此地址访问Nginx服务。
http://<ECS公网地址>:8080
成功如下截图:
阿里云高校计划,陪伴两千多所高校在校生云上实践、云上成长。
在这里你可以领用免费的cpu资源,还可以参加免费训练营,实践提高:https://developer.aliyun.com/adc/student/