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

Docker 容器命令总汇

目录

1、创建Docker容器(不启动)

2、创建Docker容器(启动)

3、列出正在运行的容器

4、停止和启动容器

5、重启容器

6、进入容器

7、查看容器信息

8、查看容器日志

9、删除容器和镜像

10、重命名容器

11、从旧容器复制数据到主机

12、从主机复制数据到新容器

13、查看容器内部进程

14、实时监视 Docker 容器

15、查看映射端口

16、容器内部文件系统的变化

17、更新容器的配置

18、强制终止容器

19、容器复制迁移

20、与容器进行交互并执行命令


1、创建Docker容器(不启动)

docker create -it --name ubuntu ubuntu:latest

docker create: 这是用于创建 Docker 容器的命令。

-it选项,它为容器分配了一个交互式终端,并允许用户与容器进行交互。

2、创建Docker容器(启动)

docker run -it --name ubuntu ubuntu:latest

docker run: 这是用于创建并启动 Docker 容器的命令。

3、列出正在运行的容器

使用docker ps命令可以列出当前正在运行的容器:

docker ps

如果想查看所有包括已停止的容器,可以加上-a选项:

docker ps -a

4、停止和启动容器

使用docker stop命令可以停止一个正在运行的容器:

docker stop <容器ID或名称>

使用docker start命令可以启动一个已经停止的容器:

docker start <容器ID或名称>

5、重启容器

docker restart <容器ID或名称>

6、进入容器

有时候你可能需要进入容器的命令行环境来进行调试或执行其他任务。可以使用docker exec命令进入正在运行的容器:

上面的命令将进入容器的bash终端。

docker exec -it <容器ID或名称> bash

7、查看容器信息

docker inspect 命令用于查看 Docker 容器的详细信息,包括容器的配置、网络设置、卷挂载、环境变量、ip等等。

docker inspect  <容器ID或名称>

8、查看容器日志

查看容器的日志输出,可以使用容器的ID或名称。

docker logs  <容器ID或名称>

实时跟踪容器的日志输出。

docker logs -f <容器ID或名称>

9、删除容器和镜像

使用docker rm命令可以删除一个已经停止的容器:

docker rm <容器ID或名称>

10、重命名容器

如果容器正在运行,首先停止它。 使用 docker rename 命令来重命名容器。

docker rename <old_container_name> <new_container_name>

将 <old_container_name> 替换为当前的容器名称,将 <new_container_name> 替换为您希望的新容器名称

11、从旧容器复制数据到主机

docker cp <old_container_name>:<container_path> <host_path>

<old_container_name>:容器ID或名称

<container_path>:容器内部的备份文件路径

<host_path>:目标主机上存储复制数据的路径

12、从主机复制数据到新容器

docker cp <host_path> <new_container_name>:<container_path>

<host_path>:之前从旧容器复制到主机的数据所在路径

<new_container_name>:容器ID或名称

<container_path>:容器内部的备份文件路径

13、查看容器内部进程

docker top <容器ID或名称>

可以查看指定容器内部正在运行的进程,展示容器内进程的相关信息,比如进程ID、用户、CPU使用情况等。

14、实时监视 Docker 容器

docker stats <容器ID或名称>

CPU使用情况(CPU %):显示容器使用的 CPU 百分比。

内存使用情况(MEM USAGE / LIMIT, MEM %):显示容器使用的内存量、限制以及内存使用的百分比。

进程数量(PIDS):显示容器内运行的进程数量。

网络 I/O(NET I/O):显示容器的网络输入/输出数据量。

Ctrl + C 组合键来退出运行的命令。

15、查看映射端口

docker port <容器ID或名称>

这将显示该容器的所有端口映射情况,包括容器内部的端口和宿主机上映射的端口。

16、容器内部文件系统的变化

docker diff <容器ID或名称>

这个命令会列出指定容器内部文件系统的变化,显示被添加、修改或删除的文件和目录。

17、更新容器的配置

内存限制

docker update --memory=10g --memory-swap=-1 <容器ID或名称>

容器的内存限制设置为 10GB,并将内存交换限制设置为不限制(-1 表示不限制内存交换)。

在 Docker 中,memory-swap 的最小限制应该大于等于 memory 限制。

CPU 使用限制

docker update --cpus=2 <容器ID或名称>

这会将为容器限制为使用 2 个 CPU。

自动重启

docker update --restart=unless-stopped <容器ID或名称>

这将在容器停止时自动重启容器,除非显式停止了容器。

18、强制终止容器

docker kill <容器ID或名称>

会强制终止容器,即立即停止容器内的所有进程。

19、容器复制迁移

导出容器

使用 docker export 命令可以将容器保存为本地文件(通常是一个压缩包),这个文件包含容器的文件系统内容。

docker export -o  my_folder/my_docker.tar <容器ID或名称>

my_folder,你想要导出的文件地址。

my_docker.tar,你想要保存的输出文件的名称,通常以 .tar 结尾。

导入容器

容器导入后成为镜像。

docker import /path/to/my_container.tar my_name

my_folder,你想要导出的文件地址。

my_image.tar,文件的名称,通常以 .tar 结尾。

my_name,是你为新导入的镜像指定的名称。

注意:基础镜像而不包含一个可执行文件,你可能需要使用类似 /bin/bash 这样的命令。

20、与容器进行交互并执行命令

docker run -it --name ubuntu ubuntu /bin/bash

如果这个镜像是一个基础镜像而不包含一个可执行文件,你可能需要使用类似 /bin/bash 这样的命令。

相关文章:

  • 【温故而知新】探讨下对vue的mixin的理解
  • springcloud微服务篇--6.网关Gateway
  • Mybatis 传参的方式
  • 计算机组成原理-总线概述
  • 【数据结构——二叉树】二叉树及其应用2023(头歌习题)【合集】
  • 解决基于VectorGrid的矢量瓦片Y轴偏移的问题
  • 软件有效找不到dll文件,五种可靠的解决dll方法分享
  • Zookeeprt实战(待完善)
  • java虚拟机内存管理
  • 最新版本Vue3的学习笔记-第五章
  • java 内部错误2753_内部错误 2753.regutils.dll
  • LLM之RAG实战(九)| 高级RAG 03:多文档RAG体系结构
  • webrtc turn服务器搭建
  • leetcode 75. 颜色分类(medium)(优质解法)
  • 每日一练:LeeCode-347. 前 K 个高频元素(中) - 【优先级队列】
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • axios 和 cookie 的那些事
  • co.js - 让异步代码同步化
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Redis学习笔记 - pipline(流水线、管道)
  • windows下使用nginx调试简介
  • 翻译--Thinking in React
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 算法-插入排序
  • 探索 JS 中的模块化
  • 提醒我喝水chrome插件开发指南
  • 听说你叫Java(二)–Servlet请求
  • 异步
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #在 README.md 中生成项目目录结构
  • ( 10 )MySQL中的外键
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (十三)Maven插件解析运行机制
  • (五)IO流之ByteArrayInput/OutputStream
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)visual stdio 书签功能介绍
  • (转)树状数组
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .NET Core WebAPI中封装Swagger配置
  • .NET Core 中插件式开发实现
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .net访问oracle数据库性能问题
  • .net连接oracle数据库
  • .NET学习教程二——.net基础定义+VS常用设置
  • .net中的Queue和Stack
  • @EnableAsync和@Async开始异步任务支持
  • [2010-8-30]
  • [20180129]bash显示path环境变量.txt
  • [BZOJ4554][TJOI2016HEOI2016]游戏(匈牙利)
  • [C/C++]数据结构 栈和队列()
  • [C++数据结构之看懂就这一篇]图(上)
  • [ComfyUI进阶教程] animatediff视频提示词书写要点