Docker入门(一)

简介: 上一节中,我们了解到了Docker 的一些基本知识点,它的一些核心概念,Docker的使用安装等。此篇文章我们对 Docker 进行入门讲解

Docker 基本指令

查看Docker基本信息

首先,我们会查看Docker 是否能够正常运行

使用 docker info 查看 Docker 程序是否存在,功能是否正常

42.jpg

上面我们使用了 docker info 指令,该命令会返回所有容器和镜像的数量、Docker 使用的执行驱动和存储驱动,以及Docker 的基本配置

Docker 是基于客户端-服务器架构的。它有一个 Docker 程序,既能作为客户端,又能作为服务端。作为客户端时,docker 程序向 Docker 守护进程发送请求,然后再对返回的请求结果进行处理。

运行容器

现在,我们尝试启动第一个容器,我们可以使用docker run方法创建容器,docker run 提供了容器的创建到启动的过程。docker run 的执行流程如下图所示:

44.jpg


现在我们开始运行一条指令docker run -i -t ubuntu /bin/bash,-i 标志保证容器中的 STDIN 时开启的,尽管我们并没有附着到容器中。持久的标准输入时交互式shell 的"半边天",-t 标志则是另外"半边天",它告诉 Docker 为要创建的容器分配一个 tty 终端。这样,docker 才能提供一个交互式的 shell 。示例中的 ubuntu 是一个常备镜像,也被称为基础镜像,它由Docker 公司提供并保存在 Docker Hub Registry 上。

随后,Docker 在文件系统内部利用这个镜像创建了一个新的容器。该容器拥有自己的网络、IP地址,以及一个用来和宿主机通信的桥接网络接口。最后,我们告诉 Docker 在新容器内要运行什么命令,我们在容器中运用 /bin/bash 创建了一个 Bash Shell。


使用容器

现在,我们已经切换到了新的容器中


45.jpg


容器ID 是@18178c34cd5a,这是一个完整的 ubuntu 系统,下面我们就来研究一下这个系统,你可以使用

hostname获取主机名

16.png

你会发现主机名和 root 后面的字符串一致,也就是说root 后面其实跟的是主机ID。

我们再来看看 /etc/hosts 文件,如下所示

46.jpg


还可以查看容器中运行的进程,ps -aux用于查询容器中的进行进程

47.jpg


接下来我们要干什么?安装一个软件包?安装一下 vim 软件吧,使用apt-get update && apt-get install vim 进行安装。通过上述命令,我们可以在Ubuntu宿主机上使用 vim 口令和语法了。

当你想退出时,直接使用 exit 就退回宿主机的命令行了。

那么这个容器怎么样了?容器现在已经停止运行,只有在制定的/bin/bash 处于运行状态时,容器才会处于运行状态。一旦退出,容器也就停止了运行。

但是容器还是存在的,你可以使用 docker ps -a查看系统中的容器列表

48.png


默认情况下,使用 docker ps 能够列出所有正在运行的容器列表,使用 docker ps -a 列出系统出所有的容器列表包括正在运行的和已经停止的。


容器命名

Docker 会为我们创建的每个容器自动生成一个随机的名称。例如我们上面创建的 /bin/bash 的名称,如果想要指定名称,通过 --name 标志实现,例如sudo docker --name cxuan_container -i -t ubuntu /bin/bash

上述命令会为你创建一个 cxuan_container 的ubuntu 镜像,你可以使用 docker ps -a 来查看最近的一个镜像。

容器的名称必须是唯一的,而且有效的名称能够帮助我们理清楚上下级关系,所以明明很重要!!!

            </div>
目录
相关文章
AutoJS4.1.0实战教程---快刷短视频
AutoJS4.1.0实战教程---快刷短视频
267 1
|
6月前
|
监控 文件存储 异构计算
国产NAS也支持本地部署DeepSeek了:极空间Z423上手
极空间Z423 NAS新增本地部署DeepSeek大模型功能,支持7B和14B两种参数量级模型。本文通过实际测试展示了其性能表现:14B模型运行缓慢,Token输出速度低于每秒10个,而7B模型速度稍快但仍不理想。硬件资源占用高,温度显著上升,风扇噪音增大。作者建议优化交互逻辑、提供局域网接口及更好GPU支持,并预测未来NAS可能加入GPU或NPU以提升推理能力。此功能目前更像战略布局,为后续硬件升级铺垫。
357 0
|
传感器 SQL 安全
智能家居安全漏洞分析与防护策略
本文旨在揭示智能家居系统中存在的常见安全漏洞,并基于此提供针对性的防护措施。文章通过分析智能家居系统架构和潜在风险点,指出了硬件设备、软件应用以及网络传输三个层面的安全问题,并提出了相应的解决方案。研究方法包括文献综述和案例分析,以期为智能家居用户和制造商提供实用的安全防护建议。
|
9月前
|
存储 运维 前端开发
同城圈子搭子交友论坛系统/搭建圈子系统的常见问题
需求分析不明确 在系统设计初期,如果未能充分理解目标用户的需求,可能导致系统功能与实际需求脱节,进而影响用户体验。 解决方案:通过市场调研、用户访谈、问卷调查等方式深入了解用户需求,确保系统设计符合用户期望。 技术选型困难 选择合适的技术栈对于系统的稳定性和可扩展性至关重要。技术选型不当可能导致系统性能低下或开发周期延长。 解决方案:根据系统需求、开发团队的技术栈以及未来扩展性等因素综合考虑,选择适合的技术栈。例如,前端可以使用uinapp 等框架,后端可以选择PHP框架,数据库可以选择MySQL等。
304 0
|
11月前
|
人工智能 算法 前端开发
无界批发零售定义及无界AI算法,打破传统壁垒,累积数据流量
“无界批发与零售”是一种结合了批发与零售的商业模式,通过后端逻辑、数据库设计和前端用户界面实现。该模式支持用户注册、登录、商品管理、订单处理、批发与零售功能,并根据用户行为计算信用等级,确保交易安全与高效。
|
云安全 运维 安全
阿里云安全产品购买详细介绍_版本_价格_功能优势
阿里云安全产品购买详细介绍_版本_价格_功能优势,云安全中心基础版免费、防病毒班432元一年、高级版优惠价969元一年,还有企业版和旗舰版可选,阿里云百科分享阿里云安全中心详细介绍,包括云安全中心功能、不同版本价格表以及有必要购买说明
572 0
|
机器学习/深度学习 算法 人机交互
|
安全 开发者 Docker
使用Docker进行本地开发环境设置:高效、可重复与隔离的利器
【8月更文挑战第8天】使用Docker进行本地开发环境设置不仅提高了开发效率,还保证了开发环境的一致性和可重复性。通过简单的Dockerfile和Docker命令,开发者可以轻松地创建、运行和管理自己的开发环境。随着Docker的普及和生态的不断发展,相信它将在未来的软件开发中发挥更加重要的作用。
|
存储 SQL 数据库
AnalyticDB(ADB)+LLM:构建AIGC时代下企业专属Chatbot
本文讲述如何基于向量数据库+LLM(大语言模型),打造更智能的企业专属Chatbot。
AnalyticDB(ADB)+LLM:构建AIGC时代下企业专属Chatbot
|
存储 算法
栈在递归中的应用
栈在递归中的应用
271 0

热门文章

最新文章