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>
目录
相关文章
|
机器学习/深度学习 人工智能 算法
一文让你了解AI产品的测试 评价人工智能算法模型的几个重要指标
一文让你了解AI产品的测试 评价人工智能算法模型的几个重要指标
1940 0
一文让你了解AI产品的测试 评价人工智能算法模型的几个重要指标
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
《打破黑箱:深度学习模型可解释性的攻坚之路》
深度学习模型在图像识别、自然语言处理等领域取得了显著成果,但其“黑箱”特性引发了可靠性、安全性和透明度的担忧。这种不可解释性在医疗、金融和自动驾驶等场景中可能导致不确定性或信任危机。为解决这一问题,研究者从模型可视化、特征重要性分析、设计可解释模型架构及事后解释方法等方向展开探索。然而,现有方法仍面临局部解释性、计算成本高及缺乏统一评估标准等问题。实现深度学习模型的可解释性是AI走向成熟与广泛应用的关键,未来需学术界与产业界共同努力,推动技术进步以造福社会。
869 9
|
Linux PHP Apache
centos7安装php8
centos7安装php8
441 0
|
数据采集 存储 数据挖掘
Python网络爬虫实战:抓取并分析网页数据
使用Python的`requests`和`BeautifulSoup`,本文演示了一个简单的网络爬虫,抓取天气网站数据并进行分析。步骤包括发送HTTP请求获取HTML,解析HTML提取温度和湿度信息,以及计算平均温度。注意事项涉及遵守robots.txt、控制请求频率及处理动态内容。此基础爬虫展示了数据自动收集和初步分析的基础流程。【6月更文挑战第14天】
1003 9
|
存储 缓存 Linux
嵌入式Linux中内存管理详解分析
嵌入式Linux中内存管理详解分析
288 0
|
数据可视化 Ubuntu 算法
量子程序设计基础 | 基于Python的量子程序设计
IBM量子程序开发套件的安装。
345 2
阿里云商标注册流程及费用(2023新版)
阿里云商标注册分为智能注册申请、顾问注册和安心注册:顾问注册和安心注册会有阿里云商标顾问提供一对一服务,所以价格相对智能注册要贵一些,智能注册价格275元、商标顾问注册申请680元、商标安心注册申请1580元,阿里云商标注册图文教程快速上手笔记,本文以阿里云商标智能注册申请为例,商标智能注册申请需要用户手动填写商标类型、商标名称、商标图样、商标说明及商标分类表选择等操作
1513 1
阿里云商标注册流程及费用(2023新版)
|
Dubbo Java 应用服务中间件
将Dubbo注册到Nacos,与DubboAdmin的部署
大家好,我是王有志。今天我们做两件事,将Dubbo的服务的注册中心从Zookeeper迁移到Nacos,然后我们部署一个用于测试Dubbo服务的DubboAdmain。
1170 0
将Dubbo注册到Nacos,与DubboAdmin的部署
|
设计模式 网络协议 算法
即时通讯系列: WebSocket从原理到企业项目技术选型(1)
阅读本篇可能需要的预备知识 《试图取代 TCP 的 QUIC 协议到底是什么》、《抓包与反抓包》、《趣谈网络协议》
856 0
即时通讯系列: WebSocket从原理到企业项目技术选型(1)
|
安全 Android开发
Via—极简极致,始终如一
Via—极简极致,始终如一