一起学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,一经查实,立即删除!

相关文章

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

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

合并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…

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

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

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

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

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

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

【案例】可视化大屏

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

三十分钟学会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

pycharm/vscode 配置black和isort

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

代码执行相关函数以及简单例题

代码/命令 执行系列 相关函数 &#xff08;代码注入&#xff09;

Boolean源码解剖学

原创/朱季谦 有天突发其想&#xff0c;想看一下Boolean底层都做了些什么&#xff0c;故而去看了一番Boolean的源码&#xff0c;基于一些思考的基础上&#xff0c;输出了这篇文章。 一.类继承 Boolean的源码类定义部分如下&#xff1a; 1 public final class Boolean implemen…

C#,数值计算——插值和外推,双线性插值(Bilin_interp)的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// 双线性插值 /// interpolation routines for two dimensions /// Object for bilinear interpolation on a matrix. /// Construct with a vector of x1. /// value…

sqlite与mysql的差异

差异点 安装过程&#xff1a;MySQL服务器通常需要单独安装&#xff0c;这涉及下载适用于特定操作系统的MySQL安装程序&#xff0c;运行安装程序并按照指示完成安装过程。SQLite作为嵌入式数据库&#xff0c;可以直接使用其库文件&#xff0c;不需要单独的安装过程。 配置和管理…

Leetcode刷题详解——不同路径

1. 题目链接&#xff1a;62. 不同路径 2. 题目描述&#xff1a; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish”…

Vue前端添加水印功能

文章目录 概要技术细节附上几张调整的结果图 概要 前端Vue在页面添加水印&#xff0c;且不影响页面其他功能使用&#xff0c;初级代码水准即可使用&#xff0c;且有防人修改或者删除功能&#xff01; 提示&#xff1a;适用于Vue&#xff0c;组件已经封装开箱即用&#xff0c;有…

rpmbuild 包名 version 操作系统信息部分来源 /etc/rpm/macros.dist

/etc/rpm/macros.dist openeuler bclinux src.rpm openssl-1.1.1f-13.oe1.src.rpm 打包名称结果 openeuler openssl-1.1.1f-13.aarch64.rpm bclinux openssl-1.1.1f-13.oe1.bclinux.aarch64.rpm 验证 修改openeuler配置文件macros.dist 重新在openeuler上执行rpmbuild…

2.4 矩阵的运算法则

矩阵是数字或 “元素” 的矩形阵列。当矩阵 A A A 有 m m m 行 n n n 列&#xff0c;则是一个 m n m\times n mn 的矩阵。如果矩阵的形状相同&#xff0c;则它们可以相加。矩阵也可以乘上任意常数 c c c。以下是 A B AB AB 和 2 A 2A 2A 的例子&#xff0c;它们都是 …

【算法】距离(最近公共祖先节点)

题目 给出 n 个点的一棵树&#xff0c;多次询问两点之间的最短距离。 注意&#xff1a; 边是无向的。所有节点的编号是 1,2,…,n。 输入格式 第一行为两个整数 n 和 m。n 表示点数&#xff0c;m 表示询问次数&#xff1b; 下来 n−1 行&#xff0c;每行三个整数 x,y,k&am…

【Flink】Flink任务缺失Jobmanager日志的问题排查

Flink任务缺失Jobmanager日志的问题排查 问题不是大问题&#xff0c;不是什么代码级别的高深问题&#xff0c;也没有影响任务运行&#xff0c;纯粹因为人员粗心导致&#xff0c;记录一下排查的过程。 问题描述 一个生产环境的奇怪问题&#xff0c;环境是flink1.15.0 on yarn…