一起学docker系列之五docker的常用命令--操作容器的命令
目录
- 前言
- 1 启动容器
- 2 查看容器
- 3 退出容器
- 4 启动已经停止的容器
- 5 重启容器
- 6 停止容器
- 7 删除已经停止的容器
- 8 启动容器说明和举例
- 9 查看容器日志
- 10 查看容器内运行的进程
- 11 查看容器内部细节
- 12 进入正在运行的容器并进行交互
- 13 导入和导出容器
- 结语
前言
当涉及到容器化技术,Docker 是当今最流行和强大的工具之一。Docker 容器技术使得应用程序的封装、交付和部署变得更加简单、高效。本文将介绍 Docker 容器的常用操作命令,涵盖了创建、管理、监视和删除容器的各种关键操作。通过掌握这些命令,您将能够更灵活地运行和管理容器,提高开发和部署的效率,使应用程序更加可靠和可移植。

1 启动容器
要创建并启动一个容器,使用以下命令:
docker run 镜像名称:tag
例如,要创建并启动一个基于 Ubuntu 20.04 镜像的容器,可以运行:
docker run ubuntu:20.04
进入容器
要进入正在运行的容器的 shell 环境,可以使用 -it 标志,如下所示:
docker run -it 镜像名称:tag /bin/bash
这将启动一个交互式 shell 会话,允许您在容器内执行命令。
2 查看容器
要查看本地系统中的所有容器,包括正在运行和已停止的容器,可以运行以下命令:
docker ps -a
要查看仅正在运行的容器,使用以下命令:
docker ps
这将列出容器的相关信息,如容器ID、状态、镜像、端口映射等。
3 退出容器
要退出容器,您可以使用以下两种方法之一:
在容器中执行 exit 命令,这将停止容器并退出。
使用键盘快捷键 Ctrl + P + Q,这将使容器在后台运行而不停止。
4 启动已经停止的容器
如果您需要启动一个之前停止的容器,可以使用以下命令:
docker start 容器ID 或者 容器名
这将重新启动指定的容器。
5 重启容器
要重新启动正在运行的容器,可以使用以下命令:
docker restart 容器ID 或者 容器名
这将停止然后再次启动容器,使其重新初始化。
6 停止容器
要停止正在运行的容器,可以使用以下命令:
docker stop 容器ID 或者 容器名
这将优雅地停止容器,允许容器内的应用程序执行清理操作。
强制停止容器
如果需要立即停止容器,可以使用以下命令:
docker kill 容器ID 或者 容器名
这将强制停止容器,可能导致数据丢失或不一致。
7 删除已经停止的容器
要删除不再需要的已停止容器,使用以下命令:
docker rm 容器ID 或者 容器名
强制删除容器
如果需要强制删除容器,即使它们仍在运行,可以使用 -f 标志:
docker rm -f 容器ID 或者 容器名
请谨慎使用这个选项,因为它将强制删除正在运行的容器。
一次性删除多个容器
如果您需要一次性删除多个已停止的容器,可以使用以下命令:
docker rm -f $(docker ps -a -q)
或者,您可以使用 xargs 命令来实现相同的效果:
docker ps -a -q | xargs docker rm
这将删除所有已停止的容器。
8 启动容器说明和举例
docker run -d ubuntu
启动后马上关闭
Docker容器后台运行,必须有一个前台进程
用redis演示
前台交互式容器
docker run -it redis:6.0.8
用docker ps查看
后台守护式容器,(redis,mysql等可以使用)
docker run -d redis:6.0.8
每个容器环境是一个缩略版的linux
9 查看容器日志
docker logs 容器id
10 查看容器内运行的进程
docker top 容器id
11 查看容器内部细节
docker inspect 容器id
12 进入正在运行的容器并进行交互
docker exec -it 容器id /bin/bash
docker attach 容器id
attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止
exec是在容器打开新的终端,并启动新的进程,用exit退出,不会导致容器的停止。
推荐使用exec命令
一般用-d后台启动程序,再用exec进入对应的容器实例
从容器内拷贝文件到主机
docker cp 容器id:容器内路径 目的主机路径
13 导入和导出容器
export导出容器的内容做为一个tar归档文件
import从tar包中内容创建一个新的文件系统,再导入为镜像,与export对应
docker export 容器id > 文件.tar
cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号
结语
Docker 提供了强大的容器化解决方案,使得开发、交付和管理应用程序变得更加便捷和高效。通过本文介绍的常用 Docker 容器操作命令,无论您是初学者还是有经验的用户,都能更深入地了解 Docker 技术。这些命令不仅有助于您创建、启动、管理和监视容器,还能提高应用程序的可移植性和可维护性,为您的开发和部署流程带来更大的灵活性和效率。希望本文能为您提供必要的指引和帮助,让您更加熟练地掌握 Docker,从而更好地应用于您的工作和项目中。
相关文章:
一起学docker系列之五docker的常用命令--操作容器的命令
目录 前言1 启动容器2 查看容器3 退出容器4 启动已经停止的容器5 重启容器6 停止容器7 删除已经停止的容器8 启动容器说明和举例9 查看容器日志10 查看容器内运行的进程11 查看容器内部细节12 进入正在运行的容器并进行交互13 导入和导出容器结语 前言 当涉及到容器化技术&…...
WPF打开对话框选择文件、选择文件夹
在WPF中实现文件的打开和选择,可以通过使用Microsoft.Win32.OpenFileDialog类来完成。这是一个通用的对话框组件,允许用户在本地文件系统中浏览和选择文件。这个组件属于WPF的一部分,因此不需要引用额外的库。 以下是一个如何使用OpenFileDi…...
nginx学习(3)
Nginx 负载均衡 实战案例 实现效果 浏览器地址栏输入地址 http://172.31.0.99/oa/a.html,负载均衡效果,平均 8083 和 8084 端口中 一、配置 1、先创建2个文件夹,并将apache-tomcat-8.5.87解压到tomcat8083和tomcat8084中 (或…...
【系统架构设计】计算机公共基础知识: 4 数据库系统
目录 一 数据库模式 二 分布式数据库 三 索引和视图 四 数据库设计 五 关系代数...
主键问题以及分布式 id
分布式 id 需要处理的问题主要是同一时间在多台机器中保证生成的 id 唯一,为了这么做我们可以这么做: 分布式 id 生成策略 先说几个已经被淘汰的策略引出分布式 id 的问题 1,UUID:UUID 随机并且唯一,在单一的数据库…...
ReentranReadWriteLock 使用案例
ReentranReadWriteLock使用案例 /*** ReentranReadWriteLock 使用案例* 读线程共享* 写线程互斥*/ public class ReentrantReadWriteLockExample {private String news;private ReentrantReadWriteLock lock new ReentrantReadWriteLock();public String readNews() {lock.re…...
“我们把最扎心的话,说给了自己最亲近的人” 何解?| IDCF
引子 我们把最好的一面给了陌生人,却把最扎心的话,说给了自己最亲近的人。 我们往往会对关心自己的人发脾气,很多时候意图是好的,表达方式却简单粗暴,结果自然不必多言。你认为自己给的是反馈和建议,对方…...
MongoDB之索引和聚合
文章目录 一、索引1、说明2、原理3、相关操作3.1、创建索引3.2、查看集合索引3.3、查看集合索引大小3.4、删除集合所有索引(不包含_id索引)3.5、删除集合指定索引 4、复合索引 二、聚合1、说明2、使用 总结 一、索引 1、说明 索引通常能够极大的提高查…...
【GEE】基于GEE进行非监督学习
1 简介与摘要 之前写了多季节叠加的监督学习,所以这次简单写一个非监督学习吧。。 这次为了简单明了,就不整那么多虚的了,在这里我不叠图层了,有需要的可以参考前一篇博客自己添加输入的图层。 2 制作输入影像 首先,…...
多视图聚类的论文阅读(一)
当聚类的方式使用的是某一类预定义好的相似性度量时, 会出现如下情况: 数据聚类方面取得了成功,但它们通常依赖于预定义的相似性度量,而这些度量受原始方法的影响:当输入维数相对较高时,往往是无效的。 1. Deep Mult…...
K-Means算法进行分类
已知数据集D中有9个数据点,分别是(1,2),(2,3), (2,1), (3,1),(2,4),(3,5),(4,3),(1,5),(4,2)。采用K-Means算法进行聚类,k2,设初始中心点为(1.1,2.2),(2.3,3.…...
深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv 计算机竞赛
文章目录 0 前言1 课题背景2 实现效果3 DeepSORT车辆跟踪3.1 Deep SORT多目标跟踪算法3.2 算法流程 4 YOLOV5算法4.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 *…...
网络协议入门 笔记一
一、服务器和客户端及java的概念 JVM (Java Virtual Machine) : Java虚拟机,Java的跨平台:一次编译,到处运行,编译生成跟平台无关的字节码文件 (class文件),由对应平台的JVM解析字节码为机器指令 (010101)。 如下图所示࿰…...
系列十一、你平时工作用过的JVM常用基本配置参数有哪些?
一、常用参数 1.1、-Xms 功能:初始内存大小,默认为物理内存的1/64,等价于 -XX:InitialHeapSize 1.2、-Xmx 功能:最大分配内存,默认为物理内存的1/4,等价于 -XX:MaxHeapSize 1.3、-Xss 功能:设置…...
如何为视频添加旁白,有哪些操作技巧?
简而言之,画外音是视频的旁白,在教程视频中添加旁白可以使视频更加有趣,并向观看者传达更多的信息。 如果您是视频制作人,想要为视频添加旁白,可阅读以下文章,可以帮助您更好地进行配音。 制作配音的技巧…...
如何简单挖掘公益SRC?
目录 1、寻找漏洞 1)谷歌语法 2)fofa 2、挖掘漏洞 3、提交报告 第一步:“标题”和“厂商信息”和“所属域名” 第二步:其它内容 第三步:复现步骤 0、IP域名归属证明 1、漏洞页 2、该干啥 3、注入的结果 4、上榜吉时 时间&#x…...
PhpStorm激活
https://www.lmcc.top/articles/485.html 可用: 1、打开https://search.censys.io/ 2、搜索:services.http.response.headers.location: account.jetbrains.com/fls-auth 3、可以看到出现了很多对应跳转到 jetbrains 的服务器IP和网址,我们随便点击一…...
mysql 怎么做定时备份 / mysql 备份 / sql文件导出
在MySQL数据库中,你可以使用不同的方法来定时备份数据库。以下是其中的一种方法,使用Linux系统中的cron任务和mysqldump命令来创建定时备份: 创建备份脚本: 首先,创建一个脚本文件,比如backup_script.sh&am…...
416. 分割等和子集问题(动态规划)
题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义:dp[i][j]表示当背包容量为j,用前i个物品是否正好可以将背包填满ÿ…...
【软件安装】Centos系统中安装docker容器(华为云HECS云耀服务器)
这篇文章,主要介绍Centos系统中安装docker容器(华为云HECS云耀服务器)。 目录 一、安装docker 1.1、卸载旧版本docker 1.2、更新repo镜像 1.3、安装依赖包 1.4、添加docker-ce镜像 1.5、安装docker-ce 1.6、查看docker安装版本 1.7、…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程
鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...
C++--string的模拟实现
一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现,其目的是加强对string的底层了解,以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量,…...
