一起学docker系列之五docker的常用命令--操作容器的命令

目录

  • 前言
  • [1 启动容器](#1 启动容器)
  • [2 查看容器](#2 查看容器)
  • [3 退出容器](#3 退出容器)
  • [4 启动已经停止的容器](#4 启动已经停止的容器)
  • [5 重启容器](#5 重启容器)
  • [6 停止容器](#6 停止容器)
  • [7 删除已经停止的容器](#7 删除已经停止的容器)
  • [8 启动容器说明和举例](#8 启动容器说明和举例)
  • [9 查看容器日志](#9 查看容器日志)
  • [10 查看容器内运行的进程](#10 查看容器内运行的进程)
  • [11 查看容器内部细节](#11 查看容器内部细节)
  • [12 进入正在运行的容器并进行交互](#12 进入正在运行的容器并进行交互)
  • [13 导入和导出容器](#13 导入和导出容器)
  • 结语

前言

当涉及到容器化技术,Docker 是当今最流行和强大的工具之一。Docker 容器技术使得应用程序的封装、交付和部署变得更加简单、高效。本文将介绍 Docker 容器的常用操作命令,涵盖了创建、管理、监视和删除容器的各种关键操作。通过掌握这些命令,您将能够更灵活地运行和管理容器,提高开发和部署的效率,使应用程序更加可靠和可移植。

1 启动容器

要创建并启动一个容器,使用以下命令:

bash 复制代码
docker run 镜像名称:tag

例如,要创建并启动一个基于 Ubuntu 20.04 镜像的容器,可以运行:

bash 复制代码
docker run ubuntu:20.04

进入容器

要进入正在运行的容器的 shell 环境,可以使用 -it 标志,如下所示:

bash 复制代码
docker run -it 镜像名称:tag /bin/bash

这将启动一个交互式 shell 会话,允许您在容器内执行命令。

2 查看容器

要查看本地系统中的所有容器,包括正在运行和已停止的容器,可以运行以下命令:

bash 复制代码
docker ps -a

要查看仅正在运行的容器,使用以下命令:

bash 复制代码
docker ps

这将列出容器的相关信息,如容器ID、状态、镜像、端口映射等。

3 退出容器

要退出容器,您可以使用以下两种方法之一:

在容器中执行 exit 命令,这将停止容器并退出。

使用键盘快捷键 Ctrl + P + Q,这将使容器在后台运行而不停止。

4 启动已经停止的容器

如果您需要启动一个之前停止的容器,可以使用以下命令:

bash 复制代码
docker start 容器ID 或者 容器名

这将重新启动指定的容器。

5 重启容器

要重新启动正在运行的容器,可以使用以下命令:

bash 复制代码
docker restart 容器ID 或者 容器名

这将停止然后再次启动容器,使其重新初始化。

6 停止容器

要停止正在运行的容器,可以使用以下命令:

bash 复制代码
docker stop 容器ID 或者 容器名

这将优雅地停止容器,允许容器内的应用程序执行清理操作。

强制停止容器

如果需要立即停止容器,可以使用以下命令:

bash 复制代码
docker kill 容器ID 或者 容器名

这将强制停止容器,可能导致数据丢失或不一致。

7 删除已经停止的容器

要删除不再需要的已停止容器,使用以下命令:

bash 复制代码
docker rm 容器ID 或者 容器名

强制删除容器

如果需要强制删除容器,即使它们仍在运行,可以使用 -f 标志:

bash 复制代码
docker rm -f 容器ID 或者 容器名

请谨慎使用这个选项,因为它将强制删除正在运行的容器。

一次性删除多个容器

如果您需要一次性删除多个已停止的容器,可以使用以下命令:

bash 复制代码
docker rm -f $(docker ps -a -q)

或者,您可以使用 xargs 命令来实现相同的效果:

bash 复制代码
docker ps -a -q | xargs docker rm

这将删除所有已停止的容器。

8 启动容器说明和举例

bash 复制代码
docker run -d ubuntu

启动后马上关闭

Docker容器后台运行,必须有一个前台进程

用redis演示

前台交互式容器

bash 复制代码
docker run -it redis:6.0.8

用docker ps查看

后台守护式容器,(redis,mysql等可以使用)

bash 复制代码
docker run -d redis:6.0.8

每个容器环境是一个缩略版的linux

9 查看容器日志

bash 复制代码
docker logs 容器id

10 查看容器内运行的进程

bash 复制代码
docker top 容器id

11 查看容器内部细节

bash 复制代码
docker inspect 容器id

12 进入正在运行的容器并进行交互

bash 复制代码
docker exec -it 容器id /bin/bash
docker attach 容器id

attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止

exec是在容器打开新的终端,并启动新的进程,用exit退出,不会导致容器的停止。

推荐使用exec命令

一般用-d后台启动程序,再用exec进入对应的容器实例

从容器内拷贝文件到主机

bash 复制代码
docker cp 容器id:容器内路径 目的主机路径

13 导入和导出容器

export导出容器的内容做为一个tar归档文件

import从tar包中内容创建一个新的文件系统,再导入为镜像,与export对应

bash 复制代码
docker export 容器id > 文件.tar
cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号

结语

Docker 提供了强大的容器化解决方案,使得开发、交付和管理应用程序变得更加便捷和高效。通过本文介绍的常用 Docker 容器操作命令,无论您是初学者还是有经验的用户,都能更深入地了解 Docker 技术。这些命令不仅有助于您创建、启动、管理和监视容器,还能提高应用程序的可移植性和可维护性,为您的开发和部署流程带来更大的灵活性和效率。希望本文能为您提供必要的指引和帮助,让您更加熟练地掌握 Docker,从而更好地应用于您的工作和项目中。

相关推荐
Zsr10233 分钟前
K8S安装指南与核心操作命令汇总
云原生·容器·kubernetes
记得开心一点嘛13 分钟前
Elasticsearch
运维·jenkins
孤岛悬城37 分钟前
53 k8s基础与安装
云原生·容器·kubernetes
Coder码匠1 小时前
Docker Compose 部署 Spring Boot 应用完全指南
spring boot·docker·容器
Ares-Wang1 小时前
网络》》防火墙
运维·服务器·网络
可爱又迷人的反派角色“yang”1 小时前
k8s(四)
linux·网络·云原生·容器·kubernetes·云计算
朝阳5811 小时前
树莓派 Ubuntu 系统登录问题完整指南:解决 Permission denied (publickey)错误
linux·运维·ubuntu
默|笙1 小时前
【Linux】基础IO(1)文件、fd
linux·运维·服务器
凌波粒1 小时前
Linux高级篇-日志管理/Linux裁剪/内核源码/备份与恢复/可视化管理
linux·运维·服务器
BJ_Bonree1 小时前
数智先锋 | Bonree ONE助力温氏集团构建“零一五十”智能运维体系,夯实智慧养殖数字底座!
运维