Docker 服务、镜像、容器之命令(Docker Services, Images, and Container Commands)

ops/2025/1/12 10:17:55/

Docker 服务、镜像、容器之命令

Docker是一个强大的容器化平台,能够帮助开发者高效地构建、部署和管理应用程序。本文将详细介绍Docker的服务命令、镜像命令和容器命令,帮助你快速上手Docker。

一、Docker的服务相关命令

在使用Docker之前,了解如何启动和管理Docker服务是非常重要的。以下是一些常用的帮助启动类命令:

1. 启动Docker服务

systemctl start docker

该命令用于启动Docker服务,确保Docker守护进程正在运行。

2. 停止Docker服务

systemctl stop docker

该命令用于停止Docker服务,停止所有正在运行的容器

3. 重启Docker服务

systemctl restart docker

该命令用于重启Docker服务,适用于需要重新加载配置或解决问题时。

4. 查看Docker服务状态

systemctl status docker

该命令用于查看Docker服务的当前状态,包括是否正在运行及其启动时间等信息。

5. 设置Docker开机自启

systemctl enable docker

该命令用于设置Docker服务在系统启动时自动启动。

6. 查看Docker的概要信息

docker info

该命令提供Docker的系统信息,包括版本、存储驱动、网络设置等。

7. 查看Docker总体帮助文档

docker --help

该命令显示Docker的总体帮助信息,列出可用的Docker命令。

8. 查看特定命令的帮助文档

docker <具体命令> --help

例如:

docker run --help

该命令显示关于特定命令的详细用法和选项说明。

二、Docker的镜像命令

Docker镜像是容器的基础,以下是一些常用的镜像命令:

1. 列出本地主机上的镜像

docker images

该命令列出本地主机上所有可用的Docker镜像,输出示例:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
my-app              1.0              abcdef123456        2 days ago          64MB

2. 搜索镜像

docker search <镜像名字>

该命令在Docker Hub上搜索指定名称的镜像。例如:

docker search nginx

可以加上--limit参数来限制返回结果的数量。

3. 下载镜像

docker pull <镜像名字>[:TAG]

该命令从Docker Hub下载指定的镜像。如果不指定TAG,则默认下载最新版。例如:

docker pull nginx:latest

4. 查看镜像、容器、数据卷所占的空间

docker system df

该命令显示Docker系统的磁盘使用情况,包括镜像、容器和数据卷所占用的空间。

5. 删除镜像

docker rmi <镜像名字或ID>

该命令用于删除指定的Docker镜像。如果有容器依赖于该镜像,则无法删除。可以使用-f选项强制删除。例如:

docker rmi nginx

三、Docker的容器命令

容器是运行应用的实例,以下是一些常用的容器命令:

1. 启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

该命令用于创建并启动一个新的容器。常用选项说明:

  • --name="容器新名字":为容器指定一个名称。

  • -d:后台运行容器并返回容器ID。

  • -i:以交互模式运行容器,通常与 -t 同时使用。

  • -t:为容器分配一个伪输入终端,通常与 -i 同时使用。

示例:

docker run -it ubuntu /bin/bash

此命令使用ubuntu镜像以交互模式启动一个容器,并进入容器的bash终端。

2. 列出当前所有正在运行的容器

docker ps

该命令列出所有正在运行的容器

3. 列出所有容器(包括停止的)

docker ps -a

该命令列出所有容器,无论其当前状态如何。

4. 退出容器

  • 输入 exit:退出并停止容器

  • 使用 Ctrl + P + Q:退出但不停止容器容器将继续运行。

5. 启动已停止的容器

docker start <容器ID或名称>

该命令用于启动一个已停止的容器

6. 重启容器

docker restart <容器ID或名称>

该命令用于重启正在运行的容器

7. 停止容器

docker stop <容器ID或名称>

该命令用于停止正在运行的容器

8. 强制停止容器

docker kill <容器ID或名称>

该命令用于强制停止正在运行的容器

9. 删除已停止的容器

docker rm <容器ID>

该命令用于删除已停止的容器

10. 查看容器日志

docker logs <容器ID>

该命令用于查看指定容器的日志输出。

11. 查看容器内运行的进程

docker top <容器ID>

该命令用于查看容器内正在运行的进程信息。

12. 查看容器内部细节

docker inspect <容器ID>

该命令返回容器的详细信息,包括网络设置、挂载点等。

13. 进入正在运行的容器并以命令行交互

docker exec -it <容器ID> bash

该命令在指定容器中打开一个新的bash终端。

14. 从容器内拷贝文件到主机上

docker cp <容器ID>:<容器内路径> <目的主机路径>

该命令用于将容器内的文件复制到主机上。

15. 导入和导出容器

  • 导出容器的内容为tar归档文件:

  docker export <容器ID> > 文件名.tar
  • 从tar包中的内容创建一个新的文件系统并导入为镜像:

  cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

总结


http://www.ppmy.cn/ops/149422.html

相关文章

IP 地址与蜜罐技术

基于IP的地址的蜜罐技术是一种主动防御策略&#xff0c;它能够通过在网络上布置的一些看似正常没问题的IP地址来吸引恶意者的注意&#xff0c;将恶意者引导到预先布置好的伪装的目标之中。 如何实现蜜罐技术 当恶意攻击者在网络中四处扫描&#xff0c;寻找可入侵的目标时&…

数据通过canal 同步es,存在延迟问题,解决方案

当使用 Canal 同步数据到 Elasticsearch&#xff08;ES&#xff09;时&#xff0c;出现延迟问题通常源于多个因素&#xff0c;如 Canal 配置、网络延迟、ES 的负载和性能瓶颈等。以下是一些解决方案&#xff0c;帮助减少和解决延迟问题&#xff1a; 1. 优化 Canal 配置 Canal…

从预训练的BERT中提取Embedding

文章目录 背景前置准备思路利用Transformer 库实现 背景 假设要执行一项情感分析任务&#xff0c;样本数据如下 可以看到几个句子及其对应的标签&#xff0c;其中1表示正面情绪&#xff0c;0表示负面情绪。我们可以利用给定的数据集训练一个分类器&#xff0c;对句子所表达的…

新能源网站提升用户体验的关键

新能源网站的用户体验对于吸引和留住访问者至关重要。一个优秀的用户体验可以增加用户的满意度&#xff0c;提高他们对网站的忠诚度。在设计新能源网站时&#xff0c;关键在于简洁明了的界面和易于导航的布局。用户应该能够轻松找到他们需要的信息&#xff0c;而不会感到困惑或…

PythonOpenCV图片识别

在windows下面&#xff0c;使用python opencv 进行识别&#xff0c;获取到坐标。 依赖安装&#xff1a; pip install opencv-python pip install numpy pip install pyautogui pip install pywin32代码&#xff1a; import cv2 import numpy as np import pyautogui import o…

了解npm:JavaScript包管理工具

在JavaScript的生态系统中&#xff0c;npm&#xff08;Node Package Manager&#xff09;无疑是一个举足轻重的存在。它不仅是Node.js的包管理器&#xff0c;更是前端开发不可或缺的一部分&#xff0c;为开发者提供了丰富的包资源、便捷的包管理以及强大的社区支持。本文将深入…

matlab系列专栏-快捷键速查手册

目录 1在命令窗口(Command Window)中 2. 在编辑器(Editor)&#xff08;m文件&#xff09;中 1在命令窗口(Command Window)中 1)【↑、↓】——切换到之前、之后运行过的命令&#xff0c;可以重复按多次来达到想要的命令。 2)【Tab】——自动补全。在Command窗口&#xff0c…

深入Android架构(从线程到AIDL)_16 应用Android的UI框架03

目录 6、 设计一个GameLoop类别 7、 只诞生一次GameLoop对象​编辑 6、 设计一个GameLoop类别 刚才的小线程&#xff0c;其实就扮演了游戏线程(Game thread)的角色&#xff0c;它负责控制游戏的循环。 // myView.java //…… public class myView extends View {//……….Ov…