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
目录
相关文章
|
2月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
154 5
|
4月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
311 16
|
4月前
|
人工智能 缓存 监控
构建高效MCP客户端:应对多服务器环境的完整指南
本文深入探讨了在多服务器环境下构建高效、可靠的Model Context Protocol(MCP)客户端的关键技术与最佳实践。内容涵盖MCP基础架构、连接管理、请求路由、容错机制、会话管理、性能监控及安全认证等核心设计,提供了完整的实现类与部署配置示例,助力开发者构建高性能MCP客户端,提升AI模型与工具集成的效率与稳定性。
|
6月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
就这样,你成功地用魔法召唤出了RabbitMQ,还把它和你的应用程序连接了起来。现在,消息会像小溪流水一样,在你的系统中自由流淌。别忘了,兔子们不喜欢孤独,他们需要你细心的关怀,不时地监控它们,确保他们的世界运转得井井有条。
421 18
|
5月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
468 5
|
6月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
至此,这次神秘而简明的部署之旅告一段落。祝你在利用RabbitMQ打造消息队列时,一切顺风顺水!
252 8
|
5月前
|
存储 缓存 Serverless
【Azure Container App】如何在Consumption类型的容器应用环境中缓存Docker镜像
在 Azure 容器应用的 Consumption 模式下,容器每次启动均需重新拉取镜像,导致冷启动延迟。本文分析该机制,并提出优化方案:使用 ACR 区域复制加速镜像拉取、优化镜像体积、设置最小副本数减少冷启动频率,或切换至 Dedicated 模式实现镜像缓存,以提升容器启动效率和应用响应速度。
149 0
|
6月前
|
Ubuntu 机器人 开发者
Docker环境下的ROS Noetic:Ubuntu 20.04 系统下的解决方案
这就是在Docker环境下安装ROS Noetic在Ubuntu 20.04系统的一种简单方法,希望能对你有所帮助。
759 16

热门文章

最新文章