一起学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,从而更好地应用于您的工作和项目中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/146385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux三剑客:awk的高级用法

目录 awk高级用法 awk控制语句—if-else判断 awk控制语句—while循环 awk控制语句—do-while循环 awk控制语句—for循环 shell脚本中较相似的控制语句 break和continue next awk数组 awk自定义函数 awk中调用shell 命令 这一篇主要介绍awk的高级用法,因为…

Qt遇到常见问题记录

1.Qt版本选择 Qt4.8.7是Qt4的终结版本,是Qt4系列版本中最稳定最经典的 (很多嵌入式板子还是用Qt4.8),其实该版本是和Qt5.5差不多时间发布的。 参考链接 Qt 5.5 Released Qt5.6.3最最后支持xp系统的长期支持版本,Q…

Python | 机器学习之SVM支持向量机

​🌈个人主页:Sarapines Programmer🔥 系列专栏:《人工智能奇遇记》🔖少年有梦不应止于心动,更要付诸行动。 目录结构 1. 机器学习之SVM支持向量机概念 1.1 机器学习 1.2 SVM支持向量机 2. SVM支持向量机…

vscode代码上传到gitlab

打开终端 1.1输入一下内容提交到本地仓库 PS D:\VueProject2\mall-admin-web> git add . PS D:\VueProject2\mall-admin-web> git commit -m “商品优化,屏蔽不要内容” 1.2提交到远程仓库 master应该被替换为 Gitee 仓库中默认的分支名称 PS D:\VueProje…

jenkins 使用原生 git clone 命令,指定ssh密钥文件

使用环境变量 GIT_SSH_COMMAND 从Git版本2.3.0可以使用环境变量GIT_SSH_COMMAND,如下所示: GIT_SSH_COMMAND"ssh -i ~/.ssh/id_rsa_example" git clone example请注意,-i有时可以被您的配置文件覆盖,在这种情况下&…

快速弄懂C++中的智能指针

智能指针是C中的一个对象,它的行为类似于指针,但它提供了自动的内存管理功能。当智能指针超出作用域时(比如说在函数中使用智能指针指向了一个对象,当该函数结束时会自动销毁该对象),它会自动删除其所指向的…

合并word中参考文献-(Endnote生成)

合并word中的 两部分的参考文献引用 Merge Citations in the Word document Original: A is a big character [78-80] and B is another one [81-85] Modified: A and B are big characters [78-85] Solutions: Remove the space betwee…

蓝桥杯 第 3 场算法双周赛4,7题

迷宫逃脱 一眼数字三角形模型,因为是要求最大值,而且对转移状态有限制,所以需要注意dp状态的初始化,可以将所有状态赋值为-0x7f,然后将dp[0][1]和dp[1][0]初始化为0,又因为考虑到起始点a[1][1]&#xff0c…

AWD比赛中的一些防护思路技巧

## 思路1: 1、改服务器密码 (1)linux:passwd (2)如果是root删除可登录用户:cat /etc/passwd | grep bash userdel -r 用户名 (3)mysql:update mysql.user set…

前端分页实现

定义每页显示的数据数量(例如每页显示10条数据)。 根据总数据量和每页显示的数量计算出总页数。 给定当前页码,计算出当前页数据在左侧数据中的起始索引和结束索引。 使用起始索引和结束索引,从左侧数据中截取出当前页的数据。…

ROS服务(Service)通信:通信模型、Hello World与拓展

服务通讯是基于请求响应模式的,是一种应答机制。 用于偶然的、对时时性有要求、有一定逻辑处理需求的数据传输场景。 一、服务通讯模型 服务是一种双向通讯方式,它通过请求和应答的方式传递消息,该模型涉及到三个角色: Master…

vscode中Chinese (Simplified)汉化无效解决方法

问题复现 之前已经下载了 Chinese (Simplified)插件并启用了,都是正常的中文简体。有时候打开vscode的时候,会发现汉化失效了,如图: 解决方法 依次点击 扩展(Extensions)— Chinese (Simplified) — 选…

独立服务器应该怎么选择?

选择适合你的独立服务器方案是确保在线业务成功的关键步骤。以下是一些你需要考虑的因素: 1. 选择合适的主机商:在选择独立服务器的项目中,我们更注重商家的信誉和品牌,因为一个好的商家必须提供质量保证的产品。 2. 选择服务器…

【案例】可视化大屏

人狠话不多,直接上效果图 这里放的地图自己去实现吧,如果也想实现3D地球话,等笔者那天有心情写篇文章; 说明:script中methods部分代码是没用,可以直接删掉,根据个人情况去写, 内容:笔者也就对页面布局进行了设计,内容的填充就靠个人了 <template><div :sty…

Union(联合体、共用体)

结构体和共用体的区别在于&#xff1a;结构体的各个成员会占用不同的内存&#xff0c;互相之间没有影响&#xff1b;而共用体的所有成员占用同一段内存&#xff0c;修改一个成员会影响其余所有成员。 结构体占用的内存大于等于所有成员占用的内存的总和&#xff08;成员之间可能…

三十分钟学会zookeeper

zookeeper 一、前提知识 集群与分布式 ​ 集群&#xff1a;将一个任务部署在多个服务器&#xff0c;每个服务器都能独立完成该任务。 ​ 分布式&#xff1a;将一个任务拆分成若干个子任务&#xff0c;由若干个服务器分别完成这些子任务&#xff0c;每个服务器只能完成某个特…

Python代码运行速度提升技巧!Python远比你想象中的快~

文章目录 前言一、使用内置函数二、字符串连接 VS join()三、创建列表和字典的方式四、使用 f-Strings五、使用Comprehensions六、附录- Python中的内置函数总结关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项…

Android Studio Error “Unsupported class file major version 61“---异常信息记录

编译时异常信息 原因及解决办法 问题出在JAVA 17上&#xff0c;并且使用的Gradle JDK是&#xff1a;Android Studio java home版本17.0.1将其更改为&#xff1a;Android Studio默认JDK版本11.0.10 即可解决 操作步骤 1 2 3

“Cloud“(云)

"Cloud"&#xff08;云&#xff09;通常指的是云计算&#xff08;cloud computing&#xff09;&#xff0c;是一种通过互联网提供计算服务的模型。云计算允许用户通过网络访问和使用计算资源&#xff0c;而无需拥有或管理实际的硬件和软件基础设施。这种模型提供了一…

pycharm/vscode 配置black和isort

Pycharm blackd Pycharm中有插件可以实现后台服务运行black&#xff1a;BlackConnect 安装 在python中安装blackd 配置 Pycharm isort pycharm中&#xff0c;isort没有插件&#xff0c;暂使用外部工具实现&#xff0c;外部工具也可添加快捷键实现快捷对文件、文件夹进行fo…