当前位置: 首页 > article >正文

docker中常用的镜像和容器命令

我们从仓库中下载镜像,然后运行镜像成为容器,一个镜像可以运行多次形成多个容器实例。

# 启动docker
systemctl start docker

# 重启docker
systemctl restart docker
# 或
sudo service docekr restart

# 守护进程重启
sudi systemctl restart deamon-reload


# 关闭docker
docker service docker stop
# 或
docker systemctl stop docker

镜像

镜像是一个静态的、只读的文件,其中包含了应用程序运行所需的所有内容,如代码、运行时环境、系统工具、库和依赖项。它是一个模板,用来创建容器

使用一个镜像可以创建多个容器。所以用面向对象的方式来比喻的话,镜像就是类,容器就是使用类创建的一个一个实例

# 拉取最新镜像
docker pull 镜像名称

# 查看本地所有镜像
docker images

# 查看本地所有镜像,包括中间层
docker images -a

# 只显示镜像的ID
docker images -q

# 联合使用
docker images -aq

#删除镜像
docker rmi 镜像ID
#我们要删除镜像,需要先删除用这个镜像创建的容器,当还有用这个镜像创建的容器时,需要强制删除

# 强制删除
docker rmi -f 镜像ID

# 只会删除最新版本的镜像
docker rmi 镜像名称		

# 删除指定版本的镜像
docker rmi 镜像名称:版本tag

# 删除多个镜像
docker rmi 镜像ID1 镜像ID2		 

# 删除所有镜像,慎用或不用,docker images -qa是获取到镜像的ID
docker rmi -f $(docker images -qa)

#查看镜像容器数据卷的占用空间
docker system df

在这里插入图片描述

  1. Images:所有镜像占用的空间,包括拉取的镜像、本地构建的镜像。
  2. Containers:容器的数量、和占用的空间。
  3. Local Volumes:本地数据卷的空间。
  4. Build Cache:镜像构建过程中,产生的缓存数据。

容器

容器是镜像的运行时实例,相当于面向对象中的一个个的对象实例。

当你运行一个镜像时,Docker会创建一个容器。它提供了一个隔离的环境,让应用程序可以在其中运行。

所以容器可以被理解为一个隔离的、独立的运行时环境,其中包含了应用程序及其运行所需的一切。

在这里插入图片描述

容器状态有七种

  • created已创建
  • restartiing重启中
  • running或者up运行中
  • removing迁移中
  • paused暂停
  • exited停止
  • dead死亡

启动容器

# 启动容器,并指定名称
docker run -it --name my-ubuntu ubuntu
# 命令是可以运行多次的,那么就会产生多个 Ubuntu 容器实例
# 随机名字
docker run -it ubuntu

it: 这是两个选项的组合。-i 代表交互模式,使容器保持打开状态并等待用户命令输入;-t 分配一个伪终端或终端,使输入可见。

进入退出容器

# 退出容器 容器停止
exit

#退出容器 容器不停止
Ctrl + p + q 

# 进入正在运行的容器
docker exec -it 容器ID或者名称 /bin/bash
docker attch 容器ID或者名称
# exec会启动新的进程

查看容器

# 查看运行中的容器
docker ps

# 查看所有容器
docekr ps -a

# 查看最近创建的容器
docker ps -1
#查看容器 只显示容器编号
docker ps -q

#查看最近n个创建的容器(示例5个)
docker ps -n5

停止容器

#停止容器
docker stop 容器ID/名称
# 给容器时间保存数据,让容器自动安全停止运行

#强制停止
docker kill 容器ID/名称

启动已经停止的容器

docker start 容器ID/名称

重启容器

重启正在运行的容器

docker restart 容器ID/名称

删除容器

# 删除已经停止的容器
docker rm 容器ID/名称

# 强制删除容器,运行中的也可以删除
docker rm -f 容器ID/名称

# 删除所有容器
docker rm -f $(docker ps -a -q)
#或者
docker ps -a -q | xargs docker rm

守护式容器

有些容器是为交互式会话设计的,例如 Ubuntu 容器、CentOS 容器,需要在前台运行以便与用户进行交互,叫交互式容器

有些容器则适合在后台运行,例如 redis,默默在后台工作,提供服务或执行长时间任务就行了,叫守护式容器

# 拉取redis镜像
docker pull redis

# 运行redis镜像,启动镜像
docker run -d --name myredis redis


http://www.kler.cn/a/510669.html

相关文章:

  • 基于32QAM的载波同步和定时同步性能仿真,包括Costas环的gardner环
  • 力扣动态规划-2【算法学习day.96】
  • flutter 装饰类【BoxDecoration】
  • 力扣-数组-303 区域和检索-数组不可变
  • 消息队列实战指南:三大MQ 与 Kafka 适用场景全解析
  • Python Pyside6 加Sqlite3 写一个 通用 进销存 系统 初型
  • day01_项目介绍和环境搭建
  • 新星杯-ESP32智能硬件开发--ESP32的I/O组成-系统中断矩阵
  • Ubuntu 22.04虚拟机安装配置调整(语言输入法字体共享剪切板等等
  • 第6章 ThreadGroup详细讲解(Java高并发编程详解:多线程与系统设计)
  • DDD - 微服务落地的技术实践
  • python 入门
  • 【Linux系统环境中使用二进制包安装Apache】
  • MySQL 创建数据库问题:You have an error in your SQL syntax(MySQL 数据库命名规则问题)
  • 闭包的理解及应用
  • # Rust Actix Web 入门指南
  • Avalonia系列文章之小试牛刀
  • 栈和队列经典例题
  • Git版本控制 – 创建和维护项目Repository
  • 数据结构漫游记:队列的动态模拟实现(C语言)
  • Python基础06(字符串格式化/操作方法)
  • Node.js 到底是什么
  • 微服务学习-OpenFeign 简化服务间调用
  • 【第二十周】U-Net:用于生物图像分割的卷积神经网络
  • ARM GCC编译器
  • LeRobot安装教程