Docker 容器基本操作[Docker 系列-2](上)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: docker 中的容器就是一个轻量级的虚拟机,是镜像运行起来的一个状态,本文就先来看看容器的基本操作。本文是本系列第二篇,阅读前面文章有助于更好理解本文:

镜像就像是一个安装程序,而容器则是程序运行时的一个状态。

查看容器

查看容器

启动 docker 后,使用 docker ps 命令可以查看当前正在运行的容器:

23.jpg

查看所有容器

上面这条命令是查看当前正在运行的容器,如果需要查看所有容器,则可以通过 docker ps-a 命令查看:

24.jpg

在查看容器时,涉及到几个查看参数,含义分别如下:

  • CONTAINER ID:CONTAINER ID是指容器的id,是一个唯一标识符,这是一个64位的十六进制整数,在不会混淆的情况下可以只采用id的前几位进行标识一个容器。
  • IMAGE:IMAGE表示创建容器时使用的镜像。
  • COMMAND:COMMAND表示容器最后运行的命令。
  • CREATED:创建容器的时间。
  • STATUS:容器的状态,这里可能显示一个容器启动时间,也能显示容器关闭时间。具体显示哪个要看容器当前的状态。
  • PORTS:容器对外开放的端口。
  • NAMES:容器的名字,如果不设置,会有一个默认的名字。

查看最新创建的容器

使用 docker ps-l 可以查看最近创建的容器,如下:

25.jpg

查看最新创建的n个容器

可以使用 docker ps-n=XXX 来查看最新创建的n个容器,如下:

26.jpg

创建容器

创建容器整体上来说有两种不同的方式,可以先创建,再启动,也可以连创建带启动一步到位,无论是那种方式,流程都是相似的,当执行一个创建命令之后,docker 首先会去本地路径下查找是否有相应的镜像,如果没有,就去 docker hub 上搜索,如果搜索到了,则下载下来,然后利用该镜像创建一个容器并启动。容器的文件系统是在只读的镜像文件上添加一层可读写的文件层,这样可以使在不改变镜像的情况下,只记录改变的数据。下面对这两种方式分别予以介绍。

容器创建

开发者可以首先使用 docker create 命令创建一个容器,这个时候创建出来的容器是处于停止状态,没有运行,例如要创建一个 nginx 容器,创建命令如下:

  1. docker create nginx

创建成功后,可以查看容器是否创建成功:

27.jpg

此时创建的容器并未运行,处于停止状态,容器的 name 是随机生成的,开发者也可以在创建容器时指定 name ,如下:

  1. docker create --name=nginx nginx

运行结果如下:

28.jpg

此时的 name 属性就不是随机生成的,而是用户指定的 name。

这种方式只是单纯的创建了一个用户,并未启动。

容器创建+启动

如果开发者需要既创建又启动容器,则可以使用 docker run 命令。 docker run 命令又可以启动两种不同模式的容器:后台型容器和交互型容器,顾名思义,后台型容器就是一个在后台运行的容器,默默的在后台执行计算就行了,不需要和开发者进行交互,而交互型容器则需要接收开发者的输入进行处理给出反馈。对于开发者而言,大部分情况下创建的都是后台型容器,不过在很多时候,即使是后台型容器也不可避免的需要进行交互,下面分别来看。

后台型容器

后台型容器以 nginx 为例,一般 nginx 在后台运行即可:

  1. docker run --name nginx1 -d -p 8080:80 nginx

--name 含义和上文一样,表示创建的容器的名字,-d 表示容器在后台运行,-p 表示将容器的 80 端口映射到宿主机的 8080 端口,创建过程如下图:

29.jpg

找,查找到了下载并运行,并且生成了一个容器 id。运行成功后,在浏览器中输入 http://localhost:8080 就能看到 Nginx 的默认页面了,如下:

30.jpg

这是一个后台型容器的基本创建方式。

相关文章
|
13天前
|
前端开发 安全 数据库
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
|
5天前
|
jenkins 持续交付 开发者
利用Docker容器化部署应用的实战指南
【6月更文挑战第27天】本文详述Docker应用部署,涵盖Docker基本概念、安装、镜像制作及运行。通过编写Dockerfile构建镜像,使用`docker build`、`run`、`push`及`stop`命令管理。集成CI/CD工具如Jenkins,实现自动化构建、测试和部署,提升开发效率与部署质量。Docker助力轻量级、可移植的微服务架构。
|
10天前
|
NoSQL Redis Docker
使用 Docker Compose 接管现有容器的文档
使用 Docker Compose 接管现有容器的文档
24 2
|
12天前
|
Cloud Native 安全 Docker
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
|
10天前
|
存储 关系型数据库 MySQL
解读 MySQL 容器信息:`docker inspect` 字段详解
解读 MySQL 容器信息:`docker inspect` 字段详解
28 1
|
13天前
|
Linux Docker 容器
蓝易云 - net.ipv4.ip_forward=0导致docker容器无法与外部通信
完成以上步骤后,Docker容器应该能够正常与外部通信了。
16 2
|
13天前
|
Docker 容器
蓝易云 - Docker中容器的随机命名方式
例如,一个自动生成的容器名称可能是"happy_einstein"。这种随机命名方式既保证了容器名称的唯一性,又增加了一些趣味性。
18 2
|
16天前
|
监控 Java 数据安全/隐私保护
性能监控之 JMX 监控 Docker 容器中的 Java 应用
【6月更文挑战9天】性能监控之 JMX 监控 Docker 容器中的 Java 应用
42 1
|
4天前
|
Java API Docker
使用Spring Boot和Docker进行容器化部署
使用Spring Boot和Docker进行容器化部署
|
4天前
|
运维 Serverless 文件存储
函数计算产品使用问题之在利用Docker镜像部署应用时,容器内的应用如何能访问函数计算配置的NAS挂载
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。