当前位置: 首页 > news >正文

Docker常用命令大全

文章目录

  • Docker常用命令大全
    • 一、引言
    • 二、Docker 命令分类
      • 1、镜像相关命令
        • 1.1、查看本地所有镜像
        • 1.2、搜索镜像
        • 1.3、拉取镜像
        • 1.4、删除镜像
      • 2、容器相关命令
        • 2.1、运行容器
        • 2.2、查看容器列表
        • 2.3、停止容器
        • 2.4、删除容器
        • 2.5、进入容器
      • 3、其他常用命令
        • 3.1、查看 Docker 版本
        • 3.2、查看 Docker 信息
        • 3.3、查看容器日志
        • 3.4、导出和导入容器
    • 三、Docker 容器与镜像最佳实践
      • 1、构建镜像
      • 2、数据卷
      • 3、网络
    • 四、总结

Docker常用命令大全

一、引言

Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。随着 Docker 技术的普及,掌握 Docker 命令成为了每个开发者和运维人员必备的技能。

二、Docker 命令分类

1、镜像相关命令

1.1、查看本地所有镜像
docker images

此命令列出本地主机上的所有镜像,包括仓库名、标签、镜像ID、创建时间及大小。

1.2、搜索镜像
docker search [options] 镜像名

使用此命令可以搜索 Docker Hub 上的镜像,[options] 可以是 --filter--limit 等。

1.3、拉取镜像
docker pull 镜像名:[版本号]

默认拉取的是最新版本的镜像,也可以指定版本号。

1.4、删除镜像
docker rmi 镜像ID或名称

强制删除可以使用 -f 参数。

2、容器相关命令

2.1、运行容器
docker run [options] 镜像名 [命令] [参数]

[options] 可以包括 -d(后台运行)、--name(指定容器名)、-p(端口映射)、-v(卷挂载)等。

2.2、查看容器列表
docker ps

查看当前运行的容器,使用 -a 参数可以查看所有容器。

2.3、停止容器
docker stop 容器ID或名称

快速停止可以使用 docker kill 命令。

2.4、删除容器
docker rm 容器ID或名称

删除所有容器可以使用 docker rm $(docker ps -aq)

2.5、进入容器
docker exec -it 容器ID或名称 /bin/bash

或者使用 docker attach 命令。

3、其他常用命令

3.1、查看 Docker 版本
docker version
3.2、查看 Docker 信息
docker info
3.3、查看容器日志
docker logs 容器ID或名称

可以配合 -f 跟踪日志。

3.4、导出和导入容器
docker export 容器ID | docker import -

三、Docker 容器与镜像最佳实践

1、构建镜像

docker build -t 镜像名:版本号 .

使用 -f 指定 Dockerfile,-t 标记镜像。

2、数据卷

数据卷可用于在容器间共享数据或持久化数据。

docker run -v 宿主机目录:容器目录 镜像名

3、网络

Docker 容器可以配置为使用桥接网络、主机网络或自己的网络。这里就不做详细解释了,有需要的自行百度

四、总结

Docker 命令是 Docker 技术的核心,掌握这些命令对于容器化应用的开发、部署和管理至关重要。通过熟练使用这些命令,可以有效地提高开发效率和应用的可移植性。


版权声明:本博客内容为原创,转载请保留原文链接及作者信息。

参考文章

  • Docker 命令大全 | 菜鸟教程
  • Docker篇——Docker常用命令大全!

http://www.mrgr.cn/news/29187.html

相关文章:

  • wordpress站外调用指定ID分类下的推荐内容
  • 【深度学习目标检测|YOLO算法5-2-1】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析...
  • 图片识别为什么要将彩色图像灰度化?
  • python printf中文乱码
  • 【go从零单排】Random Numbers、Number Parsing
  • 创新体验触手可及 紫光展锐携手影目科技推出AI眼镜开放平台
  • 【RabbitMQ】RabbitMQ 概述
  • python爬虫之json模块和jsonpath模块(5)
  • 【30天玩转python】网络编程基础
  • python爬虫之正则表达式(3)
  • java日志框架之JUL(Logging)
  • JavaScrip中的this、作用域代码输出题
  • 深入理解Redis:缓存穿透、缓存击穿、缓存雪崩及双写一致性
  • 【乐企-业务篇】乐企前置条件规则枚举
  • 基于Qt的串口调试工具串口常见问题
  • NASA:ATLAS/ICESat-2 L3 A陆地冰高度,版本6
  • Java应用的数据库连接池连接回收策略
  • 使用MongoDB存储和查询数据的Python函数实现
  • Java | Leetcode Java题解之第413题等差数列划分
  • 数据权限的设计与实现系列9——前端筛选器组件Everright-filter集成框架开发2
  • 输煤传送带异物识别检测数据集 yolo数据集 2400张
  • 创建自定义LLM类:更灵活地使用你的语言模型
  • 通信工程学习:什么是OLT光线路终端
  • 在Unity UI中实现UILineRenderer组件绘制线条
  • 【强化学习】如何在不提供标签的情况下通过试错的方式来学习?
  • java四种内置线程池介绍