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>
目录
相关文章
|
Kubernetes 搜索推荐 应用服务中间件
【kubernetes】新版helm3的三大概念+快速指南+自定义charts模板
chart:代表helm包,包含在 Kubernetes 集群内部运行应用程序,工具或服务所需的所有资源定义。 Repository(仓库):用来存放和共享 charts 的地方。 Release :运行在 Kubernetes 集群中的 chart 的实例,一个 chart 通常可以在同一个集群中安装多次,每一次安装都会创建一个新的 release。
747 1
【kubernetes】新版helm3的三大概念+快速指南+自定义charts模板
|
运维 Kubernetes Cloud Native
还在为多集群管理烦恼吗?OCM来啦!
在云计算领域如果还有人没听过 Kubernetes,就好像有人不知道重庆火锅必须有辣椒。Kubernetes 已经像手机上的 Android,笔记本上的 Windows 一样成为管理数据中心事实上的标准平台了。围绕着 Kubernetes,开源社区构建了丰富的技术生态,无论是 CI/CD、监控运维,还是应用框架、安全反入侵,用户都能找到适合自己的项目和产品。可是,一旦将场景扩展到多集群、混合云环境时,用户能够依赖的开源技术就屈指可数,而且往往都不够成熟、全面。
还在为多集群管理烦恼吗?OCM来啦!
|
数据采集 算法
数据结构与算法—哈夫曼树详解与构造
给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
681 0
数据结构与算法—哈夫曼树详解与构造
|
存储 Kubernetes 负载均衡
k8s的前世今生
k8s的前世今生
840 0
k8s的前世今生
|
编解码 算法 编译器
计算机图形学直线段的生成算法
计算机图形学直线段的生成算法
计算机图形学直线段的生成算法
官宣!支付宝小程序的 23 个入口大盘点
近日,支付宝小程序场景值文档发布。场景值用于描述用户进入小程序的路径,也就是说,场景值即代表了的小程序入口 。
4143 12
官宣!支付宝小程序的 23 个入口大盘点
|
开发工具 Android开发 开发者
鸿蒙、OpenHarmony、HarmonyOS傻傻的分不清楚。。。看这篇就够了
很多人对鸿蒙、OpenHarmony、HarmonyOS这些术语傻傻的分不清楚,那么本文就做一些解答。 6月4日,华为发布了《关于规范HarmonyOS沟通口径的通知》(以下简称《通知》),原文在网上都能搜到,这里就不贴了。本人对该通知做一些解读如下。
1526 0
|
数据采集 JSON Prometheus
iLogtail使用入门-iLogtail 采集Prometheus 数据
前言阿里已经正式开源了可观测数据采集器iLogtail。作为阿里内部可观测数据采集的基础设施,iLogtail承载了阿里巴巴集团、蚂蚁的日志、监控、Trace、事件等多种可观测数据的采集工作。本文将介绍iLogtail 如何采集Prometheus exporter 数据。采集配置iLogtail 的采集配置全面兼容Prometheus 配置文件(以下介绍为1.0.30版本+)。参数描述默认值Ya
1274 0
iLogtail使用入门-iLogtail 采集Prometheus 数据
|
缓存 5G 调度
RLC 子层 | 带你读《5G 空口设计与实践进阶 》之十一
RLC(Radio Link Control)子层主要提供无线链路控制功能,为上层提供分割、重传控制以及按需发送等服务。RLC 子层包含透明模式(TM,TransparentMode)、非确认模式(UM,Unacknowledged Mode)和确认模式(AM,Acknowledged Mode)3 种传输模式,主要提供纠错、分段、重组等功能。
RLC 子层  | 带你读《5G 空口设计与实践进阶 》之十一
|
存储 关系型数据库 定位技术
为什么geometry+GIST 比 geohash+BTREE更适合空间搜索 - 多出的不仅仅是20倍性能提升
标签 PostgreSQL , gist , btree , 空间索引 , 范围扫描 背景 在PostgreSQL中,支持geohash, geometry, geograph三种空间存储结构。
5308 0