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

docker常用命令详解

一、启动类命令

  • 启动docker:systemctl start docker
  • 停止docker:systemctl stop docker
  • 重启docker:systemctl restart docker
  • 查看docker状态:systemctl status docker
  • 开机启动:systemctl enable docker
  • 查看docker概要信息:docker info
  • 查看docker总体帮助文档:docker --help
  • 查看docker命令命令帮助文档:docker 具体命令 --help

二、镜像命令

1、docker images

作用:查看本地所有镜像

使用:docker images

  • -a 列出所有镜像
  • -q 只显示镜像ID

        同一个仓库源可以有多个tag版本(如mysql 有5.7;8.0版本)。一般我们使用repository:tag 来定义不同镜像,如果不指定tag版本,默认最新版本。(例如使用ubuntu,docker默认使用ubuntu:latest镜像)

2、docker search

作用:查看远程仓库镜像

使用:docker search [镜像名称]

 --limit [数量]:列出前几个
--filter is-official=true  只显示官方

标题说明: name:镜像名称 description:镜像说明 stars:点赞数 official:是否官方发布的 automated:是否自动构建

3、docker pull

作用:从远程仓库下载镜像到本地

使用:docker pull [镜像名称]:[tag版本号]

没有tag默认拉取最新的

4、docker rmi

作用:删除镜像

使用:

  • 删除单个:docker rmi -f [镜像ID]
  • 删除多个:docker rmi -f [镜像ID1] [镜像ID2]
  • 删除全部:docker rmi -f $(docker images -qa)

6、什么是docker虚悬镜像?

仓库名和标签都是none的情况,

7、镜像的导出和导入

  •  导出

作用:export导出容器的内容作为一个tar文档文件[对应import命令]

语法:docker export [容器ID] > [文件名.tar]

  • 导入

作用:import从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

语法:cat [文件名.tar] | docker import /path/to/container.tar 镜像用户/镜像名:镜像版本号

三、容器命令

1、docker run

作用:新建、启动容器

语法:docker run [options] image [command][arg...]

  • IMAGE:要运行的Docker镜像的名称或ID。
  • command:在容器中要运行的命令。如果不提供,将使用镜像中的默认命令。
  • arg:命令的参数,可以有多个。
  • --name= :给容器指定一个名称,不使用则会随机分配一个名称
  • -d :后台运行容器并返回一个容器ID (后台守护式容器,部分容器会在启动后自杀,也就是启动未成功,如:ubuntu)
  • -i :以交互模式运行容器,通常和-t同时使用(前台交互式容器)
  • -t :为容器重新分配一伪输入终端,通常和-i同时使用(前台交互式容器)
  • -P :随机端口映射,大写P
  • -p :指定端口映射,小写p
  • -v :指定容器卷
  • --privileged=true 特权模式:赋予容器几乎与主机相同的权限

2、docker ps

作用:列出当前所有正在运行的容器

语法:docker ps

     docker ps -a

options常用说明:

  • -a列出当前所有正在运行的容器 + 历史上运行过得容器以及状态
  • -l :显示最近创建的容器
  • -n :显示最近n个创建的容器
  • -q :静默模式,只显示容器编号

3、进入、退出容器

进入容器命令: docker exec -it [容器id] bash 

docker exec -it [容器id] bash   #报错时可以尝试 bash ----> /bin/sh
docker exec -it -p root [容器id] bash  #以root角色进入容器
docker attach [容器id]

推荐使用docker exec命令,因为docker attach命令使用exit退出,会导致容器停止,而docker exec命令不会)

退出容器两种方式:

  • exit :run进去容器,exit退出,容器停止
  • ctrl+p+q :run进去容器,ctrl+p+q退出,容器不停止

4、容器重启、停止、删除

  • docker start [容器ID] :启动已经停止运行的容器
  • docker restart [容器ID] :重启容器
  • docker stop [容器ID] :停止正在运行的容器
  • docker kill [容器ID] :强制停止正在运行的容器
  • docker rm [容器ID] :删除已经停止的容器
  • docker rm -f [容器ID] :强制删除容器
  • docker rm -f $(docker ps -aq) :一次性删除多个容器(谨慎使用)

5、容器日志、进程

  • 查看容器日志: docker logs [容器ID]
  • 查看容器进程: docker ps -a | grep [名称] 例:docker ps -a | grep mysql ; docker ps -a | grep redis
  • 查看容器内运行的进程: docker top [容器ID]
  • 查看容器内部细节: docker inspect [容器ID]

6、docker commit

启动容器并进入容器。修改容器内容后保存为新的镜像

docker commit \
-m "Description of changes" \
-a "Author" \
my_container_name new_image_name:new_tag
  • 其中,-m 后面跟的是提交信息,描述你做了哪些修改。
  • -a 是作者信息。
  • my_container 是之前运行的容器名称。
  • new_image_name:new_tag 是新镜像的名称和标签。

7、查看容器的详细信息

docker inspect [容器ID]

8、docker system df

作用:查看镜像/容器/数据卷所占用空间

使用:docker system df

9、docker cp 复制

docker cp /home/user/myfile.txt abc123:/app/
从主机复制到容器:
docker cp /home/user/myfile.txt [容器ID]:/app/

从容器复制到主机:
docker cp [容器ID]:[容器内路径] [目的主机路径]

例:docker cp mysql-connector-java-8.0.3.jar 4708051f2055:/app/WEB-INF/lib

docker cp 958443b97285:/tmp/a.txt /download

http://www.xdnf.cn/news/17989.html

相关文章:

  • Rust Async 异步编程(一):入门
  • BEVFormer论文速读
  • Day07 缓存商品 购物车
  • 编程算法实例-求一个整数的所有因数
  • 【Jenkins】01 - Jenkins安装
  • 【远程桌面】从RustDesk服务器看UDP对比WebRTC
  • 文本邮箱提取工具
  • gin结合minio来做文件存储
  • 3.逻辑回归:从分类到正则化
  • 快速了解均值滤波处理
  • 基础IO_系统文件IO | 重定向【Linux】
  • 一周学会Matplotlib3 Python 数据可视化-多子图及布局实现
  • 弱类型语言(Strong Typing)与强类型语言(Weak Typing)(描述语言对变量类型处理的严格程度)
  • 7.Ansible自动化之-实施任务控制
  • 工具测试 - marker (Convert PDF to markdown + JSON quickly with high accuracy)
  • 本地处理不上传!隐私安全的PDF转换解决方案
  • 【Netty核心解密】Channel与ChannelHandlerContext:网络编程的双子星
  • 最优化:建模、算法与理论|02 Optimization Modeling and Typical Examples(1)
  • ReID/OSNet 算法模型量化转换实践
  • 芋道RBAC实现介绍
  • 基于Node.js+Express的电商管理平台的设计与实现/基于vue的网上购物商城的设计与实现/基于Node.js+Express的在线销售系统
  • css: word pacing属性
  • 【原理】C#构造函数可以标记为Static吗
  • Oracle Undo Tablespace 使用率暴涨案例分析
  • Java 方法引用详解
  • Vue.js 路由/redirect重定向刷新机制详解
  • 新的“MadeYouReset”方法利用 HTTP/2 进行隐秘的 DoS 攻击
  • linux-高级IO(上)
  • 数据结构4线性表——顺序栈
  • Microsoft WebView2