2025年docker启动镜像容器命令(docker 使用镜像)

docker启动镜像容器命令(docker 使用镜像)1 1 镜像名称的格式 镜名称一般分两部分组成 repository tag 在没有指定 tag 时 默认是 latest 代表最新版本的镜像 例如 就是 仓库名称 就是 可以理解为标记 标签 或者版本号 就是完整的镜像名称 1 2 Docker 命令使用技巧 中的命令很多 全部记忆是非常困难的 今后如果某个命令想不起来怎么用 可以在当前命令终端查看命令文档



1.1 镜像名称的格式

  • 镜名称一般分两部分组成:[repository]:[tag]。
  • 在没有指定tag时,默认是latest,代表最新版本的镜像。

例如:

 

就是,仓库名称。

就是,可以理解为标记、标签,或者版本号。

就是完整的镜像名称。

1.2 Docker命令使用技巧

中的命令很多,全部记忆是非常困难的。

今后如果某个命令想不起来怎么用。

可以在当前命令终端查看命令文档。

  • 查看全部命令
 
  • 详细查看某个命令的用法,比如images的用法
 

1.3 镜像相关命令详解

命令格式:

 
  • :具体命令
  • :命令选项(中括号代表可选参数
  • :代表要传递给命令的具体参数
1.3.1 构建镜像
 

想要构建镜像的话,当前目录下必须有一个Dockerfile文件

1.3.2 拉取镜像
 
1.3.3 将镜像推送到某个镜像服务器
 
1.3.4 查看镜像
 

镜像信息展示时5个列的意思:

  • :表示镜像的仓库源

  • :镜像的标签版本号

  • :镜像ID

  • :镜像创建时间

  • :镜像大小

1.3.5 删除镜像
 

补充:

 
1.3.6 将镜像保存为一个本地压缩包
 
1.3.7 将本地镜像压缩包加载到正在运行Docker中成为镜像
 
1.3.8 镜像搜索命令
 
1.3.9 查看镜像/容器/数据卷所占的空间
 

以上这么多命令的参数,是很难记忆的,也不需要记忆

我也是一个个用–help直接查看帮助文档去提取的。所以重要的不是记忆,而是学会怎么看文档。

1.3.10 虚悬镜像

仓库名、标签都是的镜像,俗称虚悬镜像。

这种镜像没有什么用,可以直接删除。

镜像相关命令操作关系图:

在这里插入图片描述

1.4 镜像相关概念

1.4.1 是什么

是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容。

把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),

这个打包好的运行环境就是镜像文件。

只有通过这个镜像文件才能生成容器实例(类似中出来一个对象)。

1.4.2 镜像的分层结构

以一个镜像为例,在下载的过程中可以看到的镜像好像是在一层一层的在下载。

镜像分层最大的一个好处就是共享资源,方便复制迁移,就是为了复用。

比如说有多个镜像都从相同的镜像构建而来,那么只需在磁盘上保存一份 镜像;

同时内存中也只需加载一份 镜像,就可以为所有容器服务了。而且镜像的每一层都可以被共享。

1.4.3 容器和镜像的层级关系

当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,容器层之下的都叫镜像层。

所有对容器的改动,无论添加、删除、还是修改文件都只会发生在容器层中。

只有容器层是可写的,容器层下面的所有镜像层都是只读的。

1.5 镜像文档的使用

比如我们需要拉取一个镜像。

我们可以打开去搜索想要操作的镜像。

 

在这里插入图片描述

点击的官方镜像查看详细信息。

在这里插入图片描述

右上角的小黑框里给出了如何拉取这个镜像的命令。

 

但是它并没有指定版本,因此就是拉取最新版本的意思。

最新版本镜像tag标识一般都为:。

镜像中的应用运行后形成的进程就是容器,Docker会给容器进程做隔离,对外不可见。

2.1 容器的三个状态

  • 运行:进程正常运行

  • 暂停:进程暂停,不再运行,并不释放内存

  • 停止:进程终止,回收进程占用的内存、等资源

2.2 容器相关命令详解

2.2.1 创建并运行一个容器,处于运行状态
 

很重要的要说明的一点:容器后台运行,就必须有一个前台进程.

容器运行的命令如果不是一直挂起的命令(比如运行),就是会自动退出的。

最佳的解决方案是,将你要运行的程序以前台进程的形式运行。

常见就是命令行模式,表示我还有交互操作,别中断。

所以这里运行一个容器示例就衍生出来两种方式:

 

这个命令使用起来是很复杂的,文档内容非常长。

最好就是想要运行什么容器,就直接去DockerHub上查看帮助文档。

查看运行镜像的帮助文档的方法:

以为例。

找到官方镜像以后。有和两栏。

在下往下拉,就能看到一个小标题

在这里插入图片描述

这里就有运行相关的官方指引,英文不好的可以把网页翻译下再看也能看懂。

2.2.2 查看所有正在运行的容器以及它们的状态
 
2.2.3 查看某个容器的运行日志
 
2.2.4 删除一个不在运行的容器
 

补充:

 
2.2.5 启动已被停止的容器
 
2.2.6 停止运行中的容器
 
2.2.7 重启容器
 
2.2.8 暂停容器中所有的进程
 
2.2.9 恢复容器中所有的进程
 
2.2.10 查看容器内运行的进程
 
2.2.10 查看容器内部细节
 

容器相关命令图:
在这里插入图片描述

2.3 如何进入正在运行的容器,操作容器内部

2.3.1 exec命令
 

这是一条很重要的命令。

执行它以后就可以进入这个容器,并显示当前容器的命令行终端。

在属于这个容器的命令行终端上,执行的命令都会作用于容器的内部系统。

命令详解:

  • :进入容器内部,执行一个命令
  • : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
  • :要进入的容器的名称
  • :进入容器后执行的命令,是一个linux终端交互命令。
    • 在这里就相当于啥都不做,仅仅只是为了满足命令的格式需要

在这里插入图片描述

进入容器后,使用命令:

在这里插入图片描述

发现容器内部也有一个文件系统。但是并不是完整的文件系统,它只包含需要的部分。

我们并不知道要修改的被安装在这个文件系统的那个位置。

如果想要部署前端静态资源,需要查找官方文档。

在这里插入图片描述

在的官方文档中的(托管一些简单的静态内容)部分。

提到了静态目录就在。

其它需要的信息也可以按照这个方式去查找。

进入文档提供的目录:
在这里插入图片描述

发现这个目录下只有和这两个文件。

这个目录和不使用时,的目录的内容完全一致。

如何修改文件?

在容器的系统内,根本没有工具,连命令都是无法使用的。

因为这些和无关的东西,是不会存在与容器内部系统中的。

这里提供一种方式:

 

这种繁琐的方式,了解即可。

通常都是不推荐直接进入容器内部去操作文件的。

  • 一来没有文件操作的相关命令可以使用。
  • 二来在容器内部修改了什么都是没有记录的,也许最近操作者会记得,随着时间推移,将越来越不可维护。
2.3.2 attach 命令
 

虽然它也可以进入容器内部,并开启一个命令行终端。但是一旦退出,容器也会立刻就停止。

2.3.3 exec和attach的区别
  • 是在容器中打开新的终端,并且可以启动新的进程用退出,不会导致容器的停止。

  • 直接进入容器启动命令的终端,不会启动新的进程 用退出,会导致容器的停止。

一般 只会在面试时问到,工作中有需要一般就直接使用系列的命令即可

2.4 容器运行时就进入容器内部

上面是容器已经运行之后还想进入容器内部的方式,如果容器第一次启动时就想进入就可以输入如下命令:

 

相当于以交互模式启动一个容器,在容器内执行/bin/bash命令。

2.5 从容器内部退出

直接在容器内部的命令行终端系统上输入命令,即可退出容器,回到操作系统

 

但是如果是命令时就进入容器内部的话:

 

2.6 导入和导出(容器备份)

  • 导出容器的内容留作为一个归档文件。

  • 从包中的内容创建一个新的文件系统再导入为镜像。

示例

 

这可以达到容器的完全备份需求。

2.7 把容器commit为一个镜像

命令可以提交容器副本使之成为一个新的镜像。

语法如下:

 

它可以用来做镜像增强。镜像基本就是最简的系统,如果想在一个镜像中加入,可以这么做:

 

官网是默认下载的没有命令

现在自己构建的镜像,新增加了功能,今后使用这个镜像运行的容器就都有命令了。

编程小号
上一篇 2025-02-15 15:51
下一篇 2025-03-25 18:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/73867.html