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>
目录
相关文章
|
8月前
|
存储 消息中间件 Kafka
中原银行实时场景企业级解决方案
中原银行实时数据开发平台负责人杜威科在Flink Forward Asia 2024分享了银行业实时数据处理的经验。内容涵盖需求分析、解决方案、场景案例与现状展望。银行业需构建全链路、全场景的企业级实时数据平台,解决动账场景下的复杂计算需求。通过Flink+Paimon方案,实现高效更新、低成本存储与便捷查询。案例包括账户表实时更新入湖、交易协同优化、实时图应用、海量数据存储及业务人员易用性建设。未来目标是实现上千张表实时入湖,缩短延迟并探索AI结合的新场景。
337 2
中原银行实时场景企业级解决方案
|
边缘计算 物联网 开发者
2024年提升开发效率的十大技巧
2024年,软件开发领域持续快速发展,新技术和工具层出不穷。本文总结了十大提升开发效率的技巧,包括精通Git Hooks自动化流程、利用Docker容器化技术、拥抱无代码/低代码平台、集成AI/ML、关注IoT、重视网络安全、采用云原生开发和微服务架构、探索边缘计算、利用AR和即时应用技术,以及参与开源软件项目。这些技巧旨在帮助开发者适应技术变革,提高工作效率。
|
机器学习/深度学习 人工智能 缓存
【AI系统】GPU 架构回顾(从2018年-2024年)
2018年发布的Turing图灵架构,采用12nm工艺,包含18.6亿个晶体管,大幅提升了PC游戏、专业图形应用及深度学习推理的效率与性能。Turing引入了RT Core和Tensor Core,分别用于实时光线追踪和加速深度学习计算,支持GDDR6内存,显著提升了数据传输速率和效率。此外,Turing架构还支持NVLink 2.0,增强了多GPU协同工作的能力,适用于复杂的图形渲染和深度学习任务。
712 0
【AI系统】GPU 架构回顾(从2018年-2024年)
|
11月前
|
编解码 弹性计算 大数据
软硬结合助力倚天云原生算力再进化,加速大数据、视频转码上云步伐
本文介绍了云原生算力的进化,重点讨论了倚天710 CPU在大数据和视频转码场景中的应用与优势。倚天710采用ARM架构,通过物理核设计和CIPU加速卡优化,显著提升了高负载下的性能稳定性,并在实际应用中帮助客户实现了20%-40%的性能提升和成本降低。此外,文章还探讨了操作系统、编译器等底层软件的优化,以及如何通过龙蜥社区和阿里云平台支持更多应用场景,助力企业实现高效迁移和性能优化。
|
人工智能 搜索推荐 区块链
元宇宙:虚拟现实的新纪元
在科技飞速发展的今天,元宇宙(Metaverse)正从科幻走向现实,成为连接物理与数字世界的桥梁。本文将探讨元宇宙的定义、关键技术、现有形态及未来展望,带您领略这一虚拟空间的无限可能。元宇宙利用VR、AR、区块链等技术,构建了一个沉浸式的虚拟世界,用户可通过数字化身自由探索、社交、娱乐、学习和工作。尽管仍处初级阶段,但虚拟会议、数字艺术、游戏娱乐等领域已初现端倪。未来,元宇宙有望成为第二人生、数字商务、创新教育和远程协作的重要平台,同时也面临数据安全、隐私保护等挑战。
1123 1
|
存储 测试技术 持续交付
|
安全 Ubuntu Linux
新一代通用的Linux软件包管理工具
  1. 前言   snap和flatpak都是新一代跨Linux发行版的软件包管理技术,这两种下一代打包方法在本质上拥有相同的目标和特点:即不依赖于第三方系统功能库的独立包装。上一篇我们简单介绍了flatpak的原理,今天我们接着简要介绍snap的安全机制。   2. 简介   snap是Canoncial公司提出的新一代linux包管理工具,致力于将所有linux发行版上的包格式统一,做到“一次打包,到处使用”。目前snap已经可以在包括Ubuntu、Fedora、Mint等多个Linux发行版上使用。首先我们来了解下snap相关的各种名词:
875 0
|
消息中间件 负载均衡 测试技术
测试环境建设原则和管理实践
测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据等的总称,即够支持完成测试工作所需要的软件和硬件。测试环境是测试活动的基础,正确模拟生产环境,稳定支持测试活动是测试环境的基本要求。稳定可控的测试环境能够提升测试工程师的测试工作效率,测试工程师无需花费过多的时间维护测试环境的稳定、测试数据的合理等工作上。测试工程师只需正确执行测试用例(这里既包含了自动化测试用例也包含手工测试用例)就可以稳定复现测试过程。
1328 0
测试环境建设原则和管理实践
|
前端开发 JavaScript
使用纯html与css实现跳动小球加载动画
跳动小球加载动画 在网页开发中,加载动画是必不可缺的一个设计;因为在一些资源加载的时候需要让用户等待一段时间,为了使用户有更好的交互体验,一个使人身心愉悦的加载动画变必不可少。 今天为大家带来的就是一个小求跳动加载动画