Docker-常用命令

2023-05-16

目录

  • 一、docker基础命令
    • 1. 启动与关闭docker
    • 2. 查看docker信息
    • 3. docker帮助命令
  • 二、docker镜像命令
    • 1. 查询与搜索镜像
    • 2. 拉取镜像
    • 3. 删除镜像
    • 4. 保存与加载镜像
  • 三、docker容器命令
    • 1. 查看容器运行及状态
    • 2. 创建并运行容器
    • 3. 进入容器
    • 4. 启动与停止容器
    • 5. 删除容器
  • 四、docker其他常用命令
  • 五、docker数据卷命令
    • 1. 数据卷基本操作
    • 2. 挂载数据卷
    • 4. 数据卷权限控制
    • 5. 数据卷容器的配置

一、docker基础命令

1. 启动与关闭docker

启动docker

systemctl start docker

关闭docker

systemctl stop docker

重启docker

systemctl restart docker

设置docker随服务启动而自启动

systemctl enable docker

2. 查看docker信息

查看docker运行状态

systemctl status docker

查看docker版本号信息

docker version

docker info

3. docker帮助命令

docker帮助命令

docker --help

一般都如下使用
docker xx --help

例如
docker save --help

二、docker镜像命令

  • 镜像名称一般分两部分组成:【repository】:【tag】
  • 在没有指定tag时,默认是latest,代表最新版本的镜像

1. 查询与搜索镜像

查看服务器中docker镜像列表

docker images
# 查看所有镜像的id
docker images -q

搜索镜像

docker search 镜像名

在这里插入图片描述


  • NAME:镜像仓库源的名称

  • DESCRIPTION: 镜像的描述

  • OFFICIAL:是否 docker 官方发布

  • stars:类似 Github 里面的 star,表示点赞、喜欢的意思。

  • AUTOMATED:自动构建。

2. 拉取镜像

拉取镜像 不加tag(版本号)即默认拉取doche仓库中该镜像的最新版本latest

docker pull 镜像名
docker pull 镜像名:tag

镜像版本号可到docker hub中查看

docker官方镜像

在这里插入图片描述

3. 删除镜像

删除镜像

# 删除一个
docker rmi -f 镜像名/镜像ID

# 删除多个
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID...

# 删除全部镜像 -a:显示全部  -q:只显示id
docker rmi -f ${docker images -aq}

4. 保存与加载镜像

保存镜像

docker save [OPTIONS] 镜像 [镜像...]

OPTIONS 说明:
	-o: 输出到的文件。

# 常用格式
docker save -o 压缩文件名称 镜像名称:版本号
例如
docker save -o nginx.tar nginx:latest

加载镜像

docker load [OPTIONS] 保存的目标文件名称

OPTIONS 说明:
	--input, -i: 指定导入的文件,代替 STDIN。
	--quiet, -q:精简输出信息。

# 常用格式
docker load –i 压缩文件名称
例如
docker load -i nginx.tar

三、docker容器命令

1. 查看容器运行及状态

查看正在运行的容器及状态

# 查看正在运行的容器
docker ps 
# 查看所有容器,包括已经停止的
docker ps -a  
# 查看容器信息
docker inspect 容器名称/容器ID

2. 创建并运行容器

创建并运行容器

docker run [可选参数] 镜像[:tag]

# 常用参数说明
-i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
-d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用 docker exec 进入容器。退出后,容器不会关闭。
-it:创建的容器一般称为交互式容器,使用交互方式运行。
-id: 创建的容器一般称为守护式容器。
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,-p 8080:8080
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口  (常用)
	-p 容器端口
--name:为创建的容器命名。
-e: 例如 -e username="tyt", 设置环境变量。
--volume, -v: 绑定一个卷。
-m: 设置容器使用内存最大值。

3. 进入容器

进入容器

docker exec 参数 # 退出容器,容器不会关闭

# 常用
docker exec -it 容器id /bin/bash

4. 启动与停止容器

启动与停止容器

docker start 容器id           # 启动容器
docker restart 容器id         # 重启容器
docker unpause 容器id          # 让一个容器从暂停状态恢复运行
docker pause 容器id           # 暂停容器
docker stop 容器id            # 停止当前正在运行的容器
docker kill 容器id            # 强制停止当前的容器

5. 删除容器

删除容器:如果容器是运行状态则删除失败,需要停止容器才能删除

# 删除指定容器, 不能删除正在运行的容器,如果需要强制删除 rm -f
docker rm 容器名称/容器ID     
# 删除指定容器并删除数据卷
docker rm -v 容器名称/容器ID     
# 删除所有容器               
docker rm -f $(docker ps -aq)       
# 删除所有的容器
docker ps -a -q|xargs docker rm -f  

四、docker其他常用命令

查看日志

docker logs -tf --tail 信息条数 容器id

查看容器中进程信息

docker top 容器id

从容器中拷贝文件到主机

docker cp 容器id:容器内路径 主机目的路径

# 拷贝是一个手动过程,一般会使用数据卷来实现宿主机与容器的数据自动同步

查看镜像的元数据

docker inspect 容器id

commit镜像

docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]

五、docker数据卷命令

1. 数据卷基本操作

创建数据卷

docker volume create 数据卷名

查看所有数据卷

docker volume ls

查看指定数据卷详细信息

# 显示一个或多个volume的信息
docker volume inspect 数据卷名

删除数据卷

# 删除一个或多个指定的 volume
docker volume rm 数据卷

清除无主的数据卷

# 删除未使用的volume
docker volume prune 

2. 挂载数据卷

创建启动容器时,使用 -v 参数 设置数据卷

docker run ... -v 宿主机目录(文件):容器内目录(文件) ...

# 如何确定是具名挂载还是匿名挂载,还是指定路径挂载!
-v 容器内路径                  # 匿名挂载
-v 卷名:容器内路径              # 具名挂载
-v /主机路径:容器内路径          # 指定路径挂载

注意事项

  • 目录必须是绝对路径
  • 如果目录不存在,会自动创建
  • 一个容器可以挂载多个数据卷

docker run -it --name mysql \
	-v /root/data:/root/data_container \
	centos:7 /bin/bash

4. 数据卷权限控制

# 通过 -v 容器内容路径 ro rw 改变读写权限
ro  readonly    # 只读
rw  readwrite   # 可读可写
 
docker run -d -P --name nginx02 -v /nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx02 -v /nginx:/etc/nginx:rw nginx

# ro 只要看到ro就说明这个路径只能通过宿主机来操作,容器内容无法操作

5. 数据卷容器的配置

  • 创建启动c3数据卷容器,使用 -v 参数设置数据卷
docker run –it --name=c3 -v /volume centos:7 /bin/bash
  • 创建启动 c1、c2 容器,使用 --volumes-from 参数设置数据卷
docker run –it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run –it --name=c2 --volumes-from c3 centos:7 /bin/bash

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker-常用命令 的相关文章

  • Unix环境高级编程代码(实时更新)

    实例1 3 列出一个目录中所有文件 xff08 ls c xff09 include 34 apue h 34 include lt dirent h gt int main int argc char argv DIR dp struct
  • ROS入门(二):launch文件解析

    ROS入门 xff08 二 xff09 xff1a launch文件解析 文章目录 ROS入门 xff08 二 xff09 xff1a launch文件解析一 launch文件的运行二 launch文件格式1 浏览顺序 xff08 Eval
  • RLException: [**] is neither a launch file in package [**] nor is [**] a launch file name,.......

    按照网上现有对这个问题的解决方法 xff1a 方法1 xff0c 在工作空间下source 方法2 xff1a 对其进行路径添加 这个问题的来源还有一种来源 xff0c 你得确定你在终端运行的这个launch文件名是否写对 xff0c 打开
  • Linux 安装node.js和npm教程

    第一步 xff1a 去node js官网下载安装包 或者直接 wget https nodejs org dist v10 15 0 node v10 15 0 linux x64 tar xz 第二步 xff1a 解压 tar xf no
  • could not establish connection to “hostname”

    解决方案 Try to delete the fingerprint a single line that corresponds to this particular connection not the whole file saved
  • 基于UCOSIII的环境检测项目

    基于UCOSIII的环境检测项目 运用STM32F103C8T6开发板为项目核心板 xff0c 并加入UCOSIII实时操作系统 在操作系统基础上 xff0c 搭配外围传感器实现基于STM32环境检测项目开发 主要运用库函数在操作系统基础上
  • 进程与线程

    进程与线程 讲线程之前要了解 xff1a 进程间的通信 xff08 Inter Process Communication IPC xff1a 理论上 xff0c 进程之间是独立的 xff0c 但实际上往往是多个进程之间的互相配合完成复杂的
  • STM32的八种工作模式

    一 模式介绍 STM32单片机具有高性能 低成本 低功耗的优点 xff0c 与它打交道就必须先了解它的几种工作模式 xff0c 它共有八种IO口模式 xff0c 分别是 xff1a 模拟输入 浮空输入 上拉输入 下拉输入 开漏输出 推挽输出
  • matlab学习笔记

    matlab笔记 上课期间自己整理的一系列matlab相关用法的笔记 xff0c 自认为也并不非常有条理 xff0c 但还是囤放在这里 xff0c 供需要的人查阅 取用 写在前面 help 43 函数名 xff1a 查找某函数的使用方法lo
  • 计算机组成原理——总线

    一 总线概述 1 xff0e 基本概念 xff08 1 xff09 总线简图 每个总线可能由很多根信号线组成 xff08 2 xff09 总线的物理实现 如上图 xff0c 4根信号线组成 一根 总线 xff0c 所有硬件部件都可以通过这根
  • 计算物理学复习笔记(一) 连续随机变量的抽样(直接、变换抽样,三类舍选法)

    文章目录 前言 前置知识一 直接抽样法二 变换抽样法三 舍选法1 第一类舍选法2 第二类舍选法3 第三类舍选法 总结 前言 使用教材 xff1a 马文淦 计算物理学 xff0c 限于篇幅 xff0c 这本书上部分知识写得并不十分详细 xff
  • Keil MDK配置ARM汇编/C语言混合开发环境

    Keil MDK配置ARM开发环境 1 安装Keil MDK 安装方法这里不再说明 xff0c 懂得都懂 xff01 x1f436 2 安装ARM开发包 在Keil MDK5之后 xff0c 不再原生支持ARM7 9 xff0c 需要自行安
  • ESP8266初学(一) 遇问题大全及解决方案(持续更新)

    最近开始学习wifi模块 xff0c 谁知一开始用PC连接调试wifi模块就遇到了很多问题 一 输入指令后没有反应 刚起步就头大 快乐地接好各种接口各种线 xff0c 连上电脑发现它冒蓝光光了 xff0c 好耶 xff01 然后兴致勃勃打开
  • PTA实验题:6-4 派生类的定义和使用 (10 分)

    按要求完成下面的程序 xff1a 1 定义一个Animal类 xff0c 包含一个void类型的无参的speak方法 xff0c 输出 animal language 2 定义一个Cat类 xff0c 公有继承自Animal类 xff0c
  • 模块学习(一)——编码电机

    想实现对电机的测速 xff0c 因此开始接触编码电机 此次采用的是RS365编码器电机 一 编码电机的初步了解 通过编码电机可以测出速度 常见一般编码电机分成两种 xff0c 一是光电编码器 xff0c 另一个是霍尔编码器 有六个接口 xf
  • nuxt如何处理用户登录状态持久化:nuxtServerInit 页面渲染前的store处理

    在一般的vue cli项目中 xff0c 我们可以用vuex persistedstate xff0c 它可以使vuex的状态持久化 xff0c 页面刷新都不会丢失 xff0c 原理当然是localStorage啦 xff01 当然也可以使
  • C语言查找字符

    C语言查找字符 相关文章路径 xff1a C语言求字符串的长度 gt C语言字符串的复制 gt C语言的字符串的联接 gt C语言字符串的比较 gt C语言查找字符 gt C语言BF算法 gt C语言输出字符串 gt C语言输入字符串 C
  • CPU、MPU、MCU、SOC的概念和区别

    概念 1 cpu cpu central processing unit 是一台计算机的运算核心和控制核心 xff0c CPU由运算器 控制器和寄存器以及实现他们联系的数据 控制总线构成 xff0c cpu典型的三级流水线操作是取值 译码
  • VScode报错:undefined reference to ‘WinMain’ collect2.exe: error: ld returned 1 exit status

    这是因为vs code并不会你点击了运行后就自动保存 xff0c 需要自己Ctrl 43 s保存一下 没保存显示一个圆点
  • 解决Realsense摄像头插着开机后,需要重新插拔程序才能正常工作

    安装 uhubctl 的过程 span class token function sudo span span class token function apt get span span class token function inst

随机推荐

  • Jetson TX2 刷机

    文章目录 准备工作1 host端 xff08 ubuntu xff09 配置2 连接线3 安装 NVIDIA SDK Manager 开始刷机STEP1STEP2STEP3STEP4 准备工作 1 host端 xff08 ubuntu xf
  • 链表头结点的插入和删除

    看了不少博客 xff0c 大都讲的比较详细到关于链表节点的删除和插入 xff0c 但因为没找到相关的头结点插入和删除的博客 xff0c 所以打算自己写一下方便大家查阅 下面是已经给出的链表的抽象数据结构 然后 然后下面是定义的插入结点的构造
  • gazebo无人机仿真显示:failsafe enabled: no rc

    修改qgc地面站参数 COM RC IN MODE 更改为 34 Joystick No RC Checks 34 这允许操纵杆输入并禁用 RC 输入检查 NAV RCL ACT to 34 Disabled 34 这可确保在没有无线遥控的
  • 力扣77组合(c++)

    力扣77组合 c 43 43 力扣题目链接 思路 这是一道经典的回溯算法题 xff0c 回溯法解决的问题都可以抽象为树形结构 xff08 N叉树 xff09 xff0c 我们可以通过树形结构来理解回溯算法 那么我把组合问题抽象为如下树形结构
  • 我的创作纪念日

    x1f36c 博主介绍 x1f468 x1f393 博主介绍 xff1a 大家好 xff0c 我是 PowerShell xff0c 很高兴认识大家 主攻领域 xff1a 渗透领域 数据通信 通讯安全 web安全 面试分析 x1f389 点
  • IDEA创建一个springboot项目教程(过程中各种报错解决)

    是不是不知道如何创建一个springboot项目 xff1f 是不是创建项目总是失败 xff1f 今天手把手带你创建一个springboot项目 配置maven 我们在创建一个springboot项目时一定要先配好maven配置文件sett
  • PHPWord相关

    phpword中进行换行操作 xff1a re 39 work experience 39 61 str replace array 34 r 34 34 n 34 34 r n 34 34 lt w br gt 34 re 39 work
  • 文件操作fwrite写txt文件乱码怎么办,我这里有方法解决

    很多大一新生到了期末做课设时 xff0c 遇到文件操作 总会有人不明白为什么写入的内容会乱码 先引入一些知识 xff1b 文件有二进制文件 xff0c 文本文件 二进制文件是按内存写入的 xff1b 文本文件是按格式写入的 xff1b 因此
  • DC电源口实物VCC引脚和GND引脚

    从后往前看 xff08 前面是电源线插进来的地方 xff09 xff0c 前面和左面是GND xff0c 后面是VCC
  • Docker入门

    前言 这就是一个简单的docker入门 因为可能现在用的少 笔者后面就有了些许草率 Docker 一篇入门 这里有阮一峰老师的docker简介传送门 这里有个语雀大佬的笔记传送门 后序也可以参考这个文章 一 Docker 简介 1 基本概述
  • java枚举类详解

    一 初始枚举 枚举类型是Java 5中新增特性的一部分 xff0c 它是一种特殊的数据类型 xff0c 之所以特殊是因为它既是一种类 class 类型却又比类类型多了些特殊的约束 xff0c 但是这些约束的存在也造就了枚举类型的简洁性 安全
  • vue报错:Component name “xxx“ should always be multi-word

    这个问题困扰我这个菜鸡很久了 xff0c 当我run serve的时候总是会报错Component name xxx should always be multi word 一直以为是命名的问题 xff0c 可是改了又改还是不行 xff0c
  • C语言学习---通过指针形参修改实参的值/交换两个数字的值---原理深究

    C语言学习 通过指针形参修改实参的值 交换两个数字的值 原理深究 要通过函数调用修改实参的值 xff0c 首先我们要明白函数调用过程中的传参方式与返回方式 xff1a 传参方式 xff1a 在c语言里面 xff0c 所有的参数传递都是单向的
  • [已解决]Git无法连接远程

    如果你是开了代理的情况下 xff0c Git失效了可以参考我的解决方法 今天Git忽然抽风了 xff0c 显示连接失败 正在获取 origin kex exchange identification Connection closed by
  • 服务端和客户端通信--UDP(含完整源代码)

    UDP通信实验 实验设备 xff1a 目标系统 xff1a Windows 软件工具 xff1a vs2022 vc6 dev 实验要求 xff1a 完成UDP服务端和客户端的程序编写 xff1b 分别实现UDP一对一通信和广播通信功能 实
  • Proteus 8 Professional发生关键仿真错误(疑似中文路径导致)

    Proteus 8 Professional发生关键仿真错误 xff08 疑似中文路径导致 xff09 在软件仿真时出现错误 显示好多红色代码 疑似之前把电脑名命名为中文了 所以缓存路径也是中文 导致Proteus 8 Profession
  • pm2实现linux重启后自启动node服务

    简介 利用pm2非常简单就可以实现 开机自启node服务的功能 目的是为解决服务器由于各种原因自动重启后 node服务没自动启动 导致无法工作的问题 操作步骤 使用pm2 start xff08 启动服务 执行pm2 save 保存当前已经
  • 【C++音视频开发】视频篇 | 图像基础概念

    前言 本专栏将不间断更新有关C 43 43 音视频开发的内容 xff0c 其中有初级章 中级章与高级章的内容 xff0c 包括但不限于音视频基础 FFmpeg实战 QT 流媒体客户端 流媒体服务器 WebRTC实战 Android NDK等
  • 【C++音视频开发】视频篇 | RGB与YUV

    前言 本专栏将不间断更新有关C 43 43 音视频开发的内容 xff0c 其中有初级章 中级章与高级章的内容 xff0c 包括但不限于音视频基础 FFmpeg实战 QT 流媒体客户端 流媒体服务器 WebRTC实战 Android NDK等
  • Docker-常用命令

    目录 一 docker基础命令1 启动与关闭docker2 查看docker信息3 docker帮助命令 二 docker镜像命令1 查询与搜索镜像2 拉取镜像3 删除镜像4 保存与加载镜像 三 docker容器命令1 查看容器运行及状态2