一起学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.hqwc.cn/news/189691.html

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

相关文章

如何在远程协同视频会议中确保安全性?

随着远程工作的普及,远程协同视频会议已成为企业和团队之间进行交流和协作的重要工具。与此同时,会议中的安全性问题也日益凸显。本文将介绍如何在远程协同视频会议中确保安全性,主要包括以下方面: 1、内网部署 将会议服务器部署…

python引入自己不同目录的模块

1.目录结构 from manual_data.utils import delete_and_insert_center

【Proteus仿真】【STM32单片机】公交车报站系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD12864显示模块、DS18B20温度传感器、DS1302时钟模块、按键、LED蜂鸣器、ULN2003、28BYJ48步进电机模块等。 主要功能: 系统运行…

学习css过渡动画-transition

文章目录 前言transition属性语法宽度改变效果透明度改变效果位置改变效果如有启发,可点赞收藏哟~ 前言 通常,当一个元素的样式属性值发生变化时,会立即看到页面发生变化。 css属性transition能让页面元素不是立即的、而是慢慢的从一种状态变…

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

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

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-B卷

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-B卷 2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-B卷A模块基础设施设置/安全加固(200分)A-1:登录安全加固(Windows, Linux)A-2&#…

Go 语言数组基础教程 - 数组的声明、初始化和使用方法

数组用于在单个变量中存储相同类型的多个值,而不是为每个值声明单独的变量。 声明数组 在Go中,有两种声明数组的方式: 使用var关键字: 语法 var array_name [length]datatype{values} // 这里定义了长度 或者 var array_n…

Python入门学习篇(一)——注释变量输入输出

1 注释 1.1 作用 a 方便他人和自己阅读代码 b 告诉编译器这部分内容是不用执行的。1.2 单行注释 # 注释内容1.3 多行注释(引号) 1.3.1 三对双引号 """ 注释内容 """1.3.2 三对单引号 注释内容 1.4 pycharm快捷键使用 ctrl/ 多行注释(以# …

PPT基础入门

目录 相关设置快捷键shift 快捷键Ctrl 快捷键Ctrl Shift 组合快捷键快捷键总结 相关设置 设置撤回次数 自动保存 图片压缩 字体嵌入:目的是在不同的电脑上保留已经设置好的字体 多格式导出 (1)可以导出PDF (2)可以导…

Java的JDBC编程—连接Mysql数据库

目录 一、 Java的数据库编程:JDBC 二、JDBC工作原理 三、 JDBC使用 四、JDBC使用步骤总结 五. JDBC常用接口和类 5.1 JDBC API 5.2 数据库连接Connection 5.3 Statement对象 5.4 ResultSet对象 一、 Java的数据库编程:JDBC JDBC,即J…

linux环境下软件安装之Mysql8

1、官网下载(右键最后一页的超链接) 2、通过命令行下载 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz3、解压 1.将.xz解压为.tar xz -d mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz2.将.tar解压为普通文件 tar -xv…

postman查询数据库-Xmysql

步骤1:安装node.js 下载地址:Download | Node.js步骤2:安装Xmysql工具,命令行输入 npm install -g xmysql ,过程中会自动安装相关依赖;步骤3:连接数据库 xmysql -h ip -u 账号 -p 密码 -d 库名 如下表示连…