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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 七天训练营第二天的任务是基于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的效能,提高生产效率。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
6天前
|
Linux 持续交付 Docker
掌握Docker:从入门到实践
Docker 是一个开源容器引擎,允许开发者将应用及其依赖打包成可移植的容器,在任意 Linux 机器上运行。本文从基本概念入手,详细介绍 Docker 的安装、基本操作、镜像构建及 Docker Compose 的使用,并通过实战案例展示如何部署 Web 应用、构建微服务架构及实现 CI/CD。通过学习,你将掌握 Docker 的核心功能,提升应用开发和部署效率。
|
19天前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
201 69
|
10天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker与Kubernetes入门
【9月更文挑战第30天】在云计算的浪潮中,云原生技术正以前所未有的速度重塑着软件开发和运维领域。本文将通过深入浅出的方式,带你了解云原生的核心组件——Docker容器和Kubernetes集群,并探索它们如何助力现代应用的构建、部署和管理。从Docker的基本命令到Kubernetes的资源调度,我们将一起开启云原生技术的奇妙之旅。
|
14天前
|
Cloud Native 持续交付 Docker
云原生技术入门与实践:Docker容器化部署示例
【9月更文挑战第25天】在数字化转型的浪潮下,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭示云原生技术的核心概念及其应用价值。我们将以Docker容器为例,逐步引导读者了解如何将应用程序容器化,并在云端高效运行。这不仅是对技术趋势的跟随,更是对资源利用和开发效率提升的探索。
41 4
|
22天前
|
运维 Ubuntu Linux
深入理解并实践Docker容器化技术
深入理解并实践Docker容器化技术
49 6
|
26天前
|
Devops jenkins 持续交付
DevOps实践:构建和部署一个Docker化的应用
【9月更文挑战第14天】在当今快节奏的软件开发领域,DevOps已经成为提升效率、加速交付的关键。本文将引导你理解DevOps的核心概念,并通过一个实际的示例—构建和部署一个Docker化的应用—来深入探讨其实践方法。我们将从简单的应用出发,逐步实现Docker容器化,并最终通过CI/CD流水线自动化部署过程。这不仅是对DevOps流程的一次实操演练,也是对现代软件开发理念的一次深刻体验。
|
1月前
|
Cloud Native 持续交付 Docker
云原生技术实践:Docker容器化部署教程
【9月更文挑战第4天】本文将引导你了解如何利用Docker这一云原生技术的核心工具,实现应用的容器化部署。文章不仅提供了详细的步骤和代码示例,还深入探讨了云原生技术背后的哲学,帮助你理解为何容器化在现代软件开发中变得如此重要,并指导你如何在实际操作中运用这些知识。
|
1月前
|
关系型数据库 数据库 网络虚拟化
Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例
由于时间和空间限制,我将在后续的回答中分别涉及到“Python中采用lasso、SCAD、LARS技术分析棒球运动员薪资的案例集锦”以及“Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例”。如果你有任何一个问题的优先顺序或需要立即回答的,请告知。
49 0
|
1月前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
29天前
|
编解码 前端开发 安全
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
在我们选购阿里云服务器的过程中,不管是新用户还是老用户通常都是通过阿里云的活动去买了,一是价格更加实惠,二是活动中的云服务器配置比较丰富,足可以满足大部分用户的需求,但是面对琳琅满目的云服务器实例、带宽和云盘选项,如何选择更适合自己,成为许多用户比较关注的问题。本文将介绍如何在阿里云的活动中选择合适的云服务器实例、带宽和云盘,以供参考和选择。
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘