ECS 7 天实践训练营 - day02 - 基于ECS快速搭建Docker环境

简介: 七天训练营第二天的任务是基于ECS快速搭建Docker环境,并且在这个环境中部署一个Nginx服务。

搭建Docker环境和部署Nginx服务整体难度不大,但由于网络原因,需要使用到阿里云的容器镜像服务支持。

操作环境:macOS Mojave 10.14.3、Terminal 2.9.1
服务器环境:CentOS 7.7

温馨提示:在操作过程中,如果出现命令行无法输入或者无法执行时,有可能是服务器超时断连了,SSH重连即可 。

背景知识

此次任务主要包含虚拟机、容器、Docker、Nginx、容器镜像服务ACR五大概念。

虚拟机:由于不同用户的计算机环境配置也不同,为了让开发的软件能够更好的兼容用户电脑,虚拟机方案孕育而生。虚拟机支持在一种操作系统里面运行另一种操作系统,还原软件的原始环境。但虚拟机方案有着明显的缺点,一是资源占用多,二是启动较慢,毕竟这是一个完整的操作系统。

容器技术:相比于虚拟机,容器技术并没有虚拟整套操作系统,而是对进程进行隔离,并且同样支持应用在不同环境之间的轻松迁移,同时还可以保留应用的全部功能。整体启动较快,资源占有也较少。

Docker:Docker是目前最流行的容器解决方案之一,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。完整的Docker组成部分:Client 客户端、Daemon 守护进程、Image 镜像、Container 容器。

Nginx:简单来说,Nginx 是一款轻量级、高性能的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。在建站时,我们常常会需要使用到 Nginx 。

容器镜像服务 ACR :容器镜像服务 ACR(Alibaba Cloud Container Registry)默认实例版提供基础的容器镜像服务,包括安全的应用镜像托管能力、精确的镜像安全扫描功能、稳定的国内外镜像构建服务以及便捷的镜像授权功能,从而方便用户进行镜像全生命周期管理。在云服务器使用 Docker 的体验过程中,结合容器镜像服务 ACR 可以使体验更加的“一体化”。

安装 Docker CE

1.前期的连接 ECS 服务器等步骤参考第一天的任务笔记

2.输入命令yum install -y yum-utils device-mapper-persistent-data lvm2,用于安装 Docker 的依赖库。

3.输入命令yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo,用于添加Docker CE的软件源信息。

4.输入命令yum makecache fast,然后输入命令yum -y install docker-ce,用于安装 Docker CE。
如图表示安装成功:

1.png

5.输入命令systemctl start docker,用于启动Docker 服务。

配置阿里云镜像仓库(镜像加速)

1.通过左侧提供的一键复制登陆url,在浏览器的隐身窗口打开,使用子用户名称和密码进行登录。

2.直接在搜索栏搜索容器镜像,点击容器镜像服务登录控制台。(如有弹出开通服务窗口,关闭即可)。

Screen Shot 2020-09-24 at 8.47.55 PM.png

3.点击镜像中心,选择镜像加速器,获得加速地址。输入代码:

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF

将其中的https://kqh8****.mirror.aliyuncs.com替换成阿里云提供的专属加速器地址,即可加速官方镜像的下载。

2.png

4.输入命令systemctl daemon-reload,用于重新加载服务配置文件。

5.输入命令systemctl restart docker,用于重启 Docker 服务。

使用Docker安装Nginx服务

1.输入命令docker search nginx,用于查看 Docker 镜像仓库中Nginx的可用版本。

2.输入命令docker pull nginx:latest ,用于拉取最新版的Nginx镜像。出现Status: Downloaded newer image for nginx:latest表示已下载最新版Nginx镜像。

4.png

3.输入命令docker images,用于查看本地镜像。

3.png

4.输入命令docker run --name nginx-test -p 8080:80 -d nginx,用于运行容器。其中name nginx-test表示容器名称,p 8080:80表示将本地8080端口映射到容器内部的80端口,d nginx表示设置容器在后台一直运行。

5.浏览器地址栏输入http://<ECS公网地址>:8080,访问Nginx服务。

69FCFFC4-B89E-4A67-81F2-705E390E72F5.png

小结

合理的利用好阿里云提供的容器镜像服务,可以在云上充分地发挥Docker的效能,提高生产效率。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
928 108
|
4月前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1910 10
|
4月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
341 99
|
3月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
185 5
|
5月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
384 16
|
5月前
|
Ubuntu 网络安全 PHP
如何使用vscode的Docker插件管理ubuntu 拉取服务器的镜像以及创建容器
本测试镜像旨在记录使用vscode的Docker插件拉取病创建Dockerfile,以及拉取镜像。