云原生容器Clouder认证:基于容器搭建企业级应用—课时4:容器如何使用

简介: 云原生容器Clouder认证:基于容器搭建企业级应用—课时4:容器如何使用

思考:选择何种容器技术?

在了解了容器的来源及其基本概念后,小陈对容器技术产生了浓厚的兴趣,想尽快上手实操一番。关于实操中的容器技术选型,小陈又找到了大刘。

小陈:师傅,谢谢你指明了容器这条路。我学习了容器的基础知识,的确感觉容器对我们这个应用场景更合适。

大刘:我只是比你早学习和接触容器罢了,你好好学习,马上也能让容器成为工作中的得力帮手。考考你,容器是一种通用技术,那么在容器的技术实现中,知名的有哪些?

小陈:Docker,还有…… 抱歉,其他的就不知道了。

大刘:不错,知道其中最重要的一个。Docker是众多容器实现中最流行的技术,是容器技术的事实标准,其他知名的还有:rkt,  Podman,LXC,Containerd,Buildah 等等。

小陈:学习了。那么,我们搭建公司网站,就用Docker咯?

大刘:OK,你可以先试试。


 

Docker容器基础知识

Docker 是一个流行的用 Go 语言开发的开源项目,基于Linux内核的cgroup、namespace及 AUFS 等技术,对进程进行封装隔离,由 Dotcloud 公司开发。Docker已成为容器行业的事实标准。

小陈发现一个有趣的事情,容器的英文是Container,有集装箱的意思。而Docker的中文翻译是码头工人的意思。那么,码头工人不就是搬运集装箱的吗?此外,Docker的Logo是一堆集装箱放在鲸鱼上,作为鲸鱼的docker,就是一个标准化的运输系统。

Docker核心概念

Docker 有三大核心概念,分别是容器(Container)、镜像(Image)和仓库(Repository)。

  • 镜像类似虚拟机的镜像,通俗的理解就是安装文件,相当于是容器的模板,可以根据不同的镜像来创建不同的容器。镜像和容器的关系可以理解为面向对象中类和实例对象的关系。

  • 容器类似一个轻量级的沙箱,容器是根据镜像创建的应用运行实例,具体运行应用程序的一个进程,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。

  • 仓库类似代码仓库,是 Docker 集中存放镜像文件的场所。仓库有本地镜像仓库 Docker-Registry 和公共镜像仓库 Docker Hub,平时使用本地仓库的镜像,没有的话可以去公共镜像仓库下载。

image.png

可以用编程中面向对象的概念来做类比:镜像可以看成一个容器可以看做是类的实例化对象。一个类可以有多个对象。同理,一个镜像可以有多个容器。容器是由镜像实例化而来。简单来说,镜像是文件,容器是进程,仓库是保存镜像的地方

 

Build, Ship and Run Any App, Anywhere

Docker的主要目标是build、ship and run any app,anywhere,即通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用组件级别的一次封装、到处运行,即在任何平台都可以构建、运输、运行任何应用

Docker的build、ship和run的含义如下:

  • Build(构建镜像):镜像就像是集装箱,包括文件以及运行环境等资源。
  • Ship(运输镜像):主机和仓库间运输,这里的仓库就像是超级码头一样。
  • Run (运行镜像):运行的镜像就是一个容器,容器就是运行程序的地方。

 

Docker的使用方式

Docker 在主流的操作系统和云平台上都可以使用,包括 Linux (如 ubuntu、Debian、CentOS、Redhat 等)、MacOS 和 Windows 操作系统,以及 阿里云 等云平台(Aliyun.com)。

推荐尽量使用 Linux 操作系统来运行 Docker,因为目前 Linux 操作系统对 Docker的支持是原生的,使用体验最好。

我们可以在阿里云云服务器ECS上,很便捷的部署配置一个Docker开发环境,以快速体验Docker容器的使用。Docker的安装比较简单,主要步骤如下(具体步骤将会在实验环节进行实践)

  1. 在阿里云(Aliyun.com)开通一台云服务器ECS
  2. 在ECS上安装必要的系统工具
  3. 添加镜像软件源信息
  4. 加入镜像源地址
  5. 安装并更新Docker-CE
  6. 查看Docker的版本,确认安装成功。若能正常显示版本信息,则安装成功
  7. 启动Docker服务
  8. 设置Docker为开机自启动

Docker基础命令

以下是Docker的一些常用命令,可以帮助初学者快速熟悉和使用Docker。

命令

指令说明

docker ps

检查容器正在运行列表

docker run

容器运行

docker rm

删除容器

docker exec

在运行的容器中运行额外的进程

docker create

创建一个尚未启动的容器,start 启动创建了的容器

docker wait

阻塞对容器的其他调用方法,直到容器停止后退出

docker stop

停止一个运行中的容器

docker start

启动一个或多个已经被停止的容器

docker top

显示主机为每个容器中的进程所分配的PID

docker diff

查看安装容器镜像时的改动,返回文件改动列表

docker inspect

显示docker为该容器保留的所有元数据(一个json文件)

docker commit

向镜像提交一个新的文件记录

通过Docker命令,运行一个容器一般情况下只需要三步:

  1. pull:从镜像仓库中将相应的镜像下载下来;
  2. list:当镜像下载完成之后就可以通过docker images 来查看本地镜像,会列出一个完整的镜像列表,可以在列表中选中想要的镜像;
  3. run:当选中镜像之后,就可以通过 docker run 来运行这个镜像,得到想要的容器。当然可以通过多次运行得到多个容器。

通过docker指令运行容器

 



练习实验:通过ACR快速部署网站应用

https://developer.aliyun.com/adc/scenario/exp/79f68855f1194655bb08e125b59ec104?

相关文章
|
5月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
1275 53
|
7月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
1053 108
|
7月前
|
运维 监控 数据可视化
小白也能部署应用,3个免费的容器化部署工具测评
本文对比了三款容器化部署工具:Docker Compose、Portainer 和 Websoft9。Docker Compose 适合开发者编排多容器应用,Portainer 提供图形化管理界面,而 Websoft9 则面向中小企业和非技术人员,提供一键部署与全流程运维支持,真正实现“开箱即用”。三款工具各有定位,Websoft9 更贴近大众用户需求。
小白也能部署应用,3个免费的容器化部署工具测评
|
5月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
8月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
520 59
|
6月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
288 8
|
9月前
|
数据可视化 API UED
126. [HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 进阶篇
在基础篇中,我们已经实现了电商应用商品筛选侧边栏的基本布局和功能。在本篇教程中,我们将深入探讨如何通过状态管理和数据绑定,实现更加复杂的交互功能,提升用户体验。
143 2
126. [HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 进阶篇
|
8月前
|
缓存 Java Docker
如何对应用代码进行优化以提高在Docker容器中的性能?
如何对应用代码进行优化以提高在Docker容器中的性能?
382 1
|
9月前
|
UED 容器
125.[HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 基础篇
在现代电商应用中,商品筛选功能是提升用户购物体验的关键元素。HarmonyOS NEXT提供的`SideBarContainer`组件非常适合实现这类功能,它可以创建一个可显示和隐藏的侧边栏,用于放置各种筛选条件,帮助用户快速找到心仪的商品。
192 1
125.[HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 基础篇
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
464 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式