Docker 命令

2023-05-16

1.Docker命令

docker info : 显示 Docker 系统信息,包括镜像和容器数。
docker version :显示 Docker 版本信息。

2.镜像命令

docker images : 列出本地镜像。

docker images 

2.1 docker images 命令选项 

选项作用
–all , -a显示所有镜像(默认情况下中间镜像不会显示)
–digests显示镜像摘要信息
–filter , -f根据给定条件筛选镜像
–format指定自定义打印格式
–no-trunc显示完整的镜像ID
–quiet , -q只显示镜像ID

2.2  –filter选项

docker images --filter="dangling=true" -q #显示未打tag值的镜像
docker rmi -f $(docker images --filter="dangling=true" -q) #删除未打tag值额镜像 
docker images --filter="before=ubuntu:18.04"               #查询ubuntu镜像之前的镜像
docker images --filter="since=redis:latest"                #查询redis镜像之前的镜像
docker images --filter=reference="py*:3*"                  #通过模糊匹配需要使用reference 过滤器,如下为匹配镜像名以py开头,tag值以3开头的镜像

2.3 --format选项 

字段描述
.ID镜像 ID
.Repository镜像名
.Tag镜像的tag
.Digest镜像摘要
.CreatedSince创建的时间跨度
.CreatedAt创建时间点
.Size镜像磁盘大小
docker images --format "{{.ID}}: {{.Repository}}"                                                        #只显示ID和Repository
docker rmi $(docker images --format "{{.Repository}}:{{.ID}}" | grep "none"  |awk  -F ':' '{print $2}')  #通过Repository删除镜像

参考:docker images 命令详解_redrose2100的博客-CSDN博客_docker启动images 

docker rmi : 删除本地一个或多少镜像。

docker rmi tomcat  #删除镜像前需要删除容器,不然会提示错误
docker rmi images1 images2 #删除多个镜像

docker search : 从Docker Hub查找镜像

docker search  tomcat  #搜索tomcat

docker build 命令用于使用 Dockerfile 创建镜像。

docker build -t springbootweb-dev ./ -f Dockerfile-dev     #使用Dockerfile-dev构建springbootweb-dev的镜像

docker pull : 从镜像仓库中拉取或者更新指定镜像

docker load : 导入使用 docker save 命令导出的镜像。

docker save : 将指定镜像保存成 tar 归档文件。

docker tag : 标记本地镜像,将其归入某一仓库。

docker history : 查看指定镜像的创建历史。

docker push : 将本地的镜像上传到镜像仓库

要先登陆到镜像仓库

docker login : 登陆到一个Docker镜像仓库

如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

docker logout : 登出一个Docker镜像仓库.

如果未指定镜像仓库地址,默认为官方仓库 Docker Hubdocker import : 从归档文件中创建镜像。

3.容器命令

docker run :创建一个新的容器并运行一个命令

 启动tomcat:
 docker run --name=my-tomcat1 -p 60000:8080 -d tomcat   
启动tomcat并且把/usr/local/tomcat/webapps/目录映射到
本机的tomcat_pwd:
 docker run --name=my-tomcat-pwd -p 60001:8080  -v   
$PWD/tomcat_pwd:/usr/local/tomcat/webapps/ -d tomcat     
把容器logs目录挂载出来:
docker run --name=springbootweb-dev -p 60000:30000  -v "$(pwd)"/springboot_logs:/SpringBootWeb/logs -d springbootweb-dev    
通过挂载启动外部的jar:
docker run --name=springbootweb-dev -p 60000:30000  -v "$(pwd)"/springbootweb-dev/:/SpringBootWeb  -d java_my  java -jar /SpringBootWeb/SpringBootWeb-1.0.jar --spring.profiles.active=dev   
使主进程不退出:
docker run -d configserver tail -f /dev/null
docker run -d configserver /bin/bash -c "while true;do echo hello docker;sleep 1;done"
docker run -d configserver /bin/bash ping 127.0.0.1
使用交互式启动,使主进程不退出
docker run -i [CONTAINER_NAME or CONTAINER_ID]
使用后台模式和tty选项,使主进程不退出
docker run -dit [CONTAINER_NAME or CONTAINER_ID]

docker ps : 列出容器

docker  ps -a  #查询容器
docker  ps -a |grep   #查询指定的容器

1.1 参数选项 

  -a, --all             Show all containers (default shows just running)
  -f, --filter filter  Filter output based on conditions provided
  --format string  Pretty-print containers using a Go template
  -n, --last int       Show n last created containers (includes all states) (default -1)
  -l, --latest         Show the latest created container (includes al lstates)
  --no-trunc       Don't truncate output
  -q, --quiet          Only display container IDs
  -s, --size           Display total file sizes

2.2 --format自定义格式

名称含义
.ID容器ID
.Image镜像ID
.Command执行的命令
.CreatedAt容器创建时间
.RunningFor运行时长
.Ports暴露的端口
.Status容器状态
.Names容器名称
.Label分配给容器的所有标签
.Mounts容器挂载的卷
.Networks容器所用的网络名称
docker ps --format "table {{.Image}}"   #table:显示表头列名,只列出镜像名称
docker ps -a --format "table {{.ID}}\t{{.Status}}"  #table 显示表头列名

docker start :启动一个或多个已经被停止的容器

docker stop :停止一个运行中的容器

docker restart :重启容器

docker kill :杀掉一个运行中的容器。

docker rm :删除一个或多个容器。

docker rm my-tomcat       #删除容器

docker pause :暂停容器中所有的进程。

docker unpause :恢复容器中所有的进程。

docker create :创建一个新的容器但不启动它。用法同 docker run

docker exec :在运行的容器中执行命令

docker exec -it  my-tomcat1 bash   (或者/bin/bash)  #进入tomcat容器(或者其他)

docker cp :用于容器与主机之间的数据拷贝。

docker cp /mnt/hgfs/LinuxShare/springbootwar.war  my-tomcat1:/   #拷贝本地文件到容器中
docker cp my-tomcat1:/usr/local/tomcat/logs    ./                           #拷贝容器中文件到本地

docker logs : 获取容器的日志

docker logs -f my-tomcat1 --tail 20                 #--tail :仅列出最新N条容器日志,-f : 跟踪日志输出(类似tail -f)

docker inspect : 获取容器/镜像的元数据。


docker inspect [OPTIONS] NAME|ID [NAME|ID...]  
docker inspect springbootweb-dev                   #查看镜像信息
docker inspect f205b85335a0                        #查看容器信息

docker export :将文件系统作为一个tar归档文件导出到STDOUT。

docker attach :连接到正在运行中的容器。

docker top :查看容器中运行的进程信息,支持 ps 命令参数。

docker events : 从服务器获取实时事件

docker wait : 阻塞运行直到容器停止,然后打印出它的退出代码。

docker port :列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口。

docker commit :从容器创建一个新的镜像。

docker commit -a "bpf" -m "add docker and tools" docker_contain  docker_image

docker diff : 检查容器里文件结构的更改。

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

Docker 命令 的相关文章

  • “docker-compose run”命令后卷更改不持久(Django 的collectstatic)

    我有一个使用 Docker Compose 创建的 Django 环境 我正在尝试使用manage py collectstatic将我网站的静态文件复制到容器中的目录中 该目录 usr src app static 也是一个 Docker
  • docker-compose 容器在多个项目中使用错误的容器

    我有两个项目 需要两个不同的docker环境 容器 我有两个docker compose yml两个不同项目中的文件 foo项目和bar项目 foo src website docker compose yml 1 foo version
  • Docker Compose - 如何执行多个命令?

    我想做这样的事情 我可以在以下代码中运行多个命令 db image postgres web build command python manage py migrate command python manage py runserver
  • 连接到 Docker Postgres 容器连接超时

    所以我所做的是 docker run d e POSTGRES USER user e POSTGRES PASSWORD 456789 name admin service p 5432 5432 postgres 当我检查时docker
  • 如何使用 docker 和 monorepo 组织共享库

    我拥有的 我有 2 个 python 应用程序共享一些代码 足以让我尝试将共享部分隔离到模块 包 库中 我故意使术语含糊不清 因为我不确定解决方案是什么 我的所有代码都在单一存储库中 因为我希望克服管理比我们团队成员更多的存储库的一些烦恼
  • Docker 容器中的并行代码执行

    我有一个通过 URLslist 抓取数据的脚本 该脚本在 docker 容器中执行 我想在多个实例中运行它 例如 20 个 为此 我想使用docker compose scale worker 20并将 INDEX 传递给每个实例 以便脚本
  • 如何使用 docker exec 运行 2 个命令

    我需要使用 docker exec 运行 2 个命令 我正在从 docker 容器中复制文件 并且不想处理凭据才能使用 ssh 之类的东西 该命令复制一个文件 sudo docker exec boring hawking tar cv v
  • Docker CentOS systemctl 不允许

    我尝试使用 systemctl 命令构建 CentOS 映像 但每次当我建造它时 我收到此错误 Step 5 7 RUN systemctl enable syslog ng systemctl start syslog ng gt Run
  • 在 mkdir 之后触摸文件时构建 Dockerfile 失败

    我是 Docker 新手 尝试使用简单的 Dockerfile 构建映像 FROM jenkins USER root RUN mkdir pv home a b RUN touch home a b test txt RUN mkdir
  • Docker 多个相同端口问题

    我目前正在解决方案中开发两个相互关联的 ASP NET Core WebAPI 服务 Service1 和 Service2 两者都有 docker 文件并暴露端口 80 Service1是一个独立的服务 需要从Service2调用 我已经
  • 开发者环境-如何调用/消费其他微服务

    背景 我的环境 Java Play2 MySql 我在 Play2 gt S1 S2 S3 上编写了 3 个无状态 Restful 微服务 S1 消耗来自 S2 和 S3 的数据 因此 当用户点击 S1 时 该服务会异步调用 S2 S3 合
  • 如何构建一个不链接到 musl libc 的 go 可执行文件

    So 官方的 Go 构建容器基于 Alpine 高山用途musl https www musl libc org 作为 libc 而不是 glibc 我需要在容器中构建一个可以在使用 glibc 的 Ubuntu 上运行的 Go 可执行文件
  • 在 Windows 上构建 Docker 映像:入口点脚本“没有这样的文件或目录”

    我在这上面浪费了两天时间 直到我终于解决了我的问题 所以我想我会分享 我将概述我在这里遇到的问题 然后概述答案中的解决方案 My Dockerfile看起来像这样 FROM php 7 2 fpm COPY custom docker ph
  • 为 Ruby On Rails 环境创建 Docker 映像时出错(从 Dockerfile)

    估计是环境问题 当我手动执行此操作 没有 Dockerfile 时 它可以工作 这是我的 Dockerfile FROM ubuntu 14 04 RUN apt get update RUN apt get upgrade assume
  • Docker Python 脚本找不到文件

    我已经成功构建了一个 Docker 容器 并将应用程序的文件复制到 Dockerfile 中的容器中 但是 我正在尝试执行引用输入文件 在 Docker 构建期间复制到容器中 的 Python 脚本 我似乎无法弄清楚为什么我的脚本告诉我它无
  • Spring Cloud Gateway 无法在 Docker 上运行

    我已经配置了一个 Spring Cloud 网关来重定向到使用以下路由创建的服务器 Bean public RouteLocator myRoutes RouteLocatorBuilder builder return builder r
  • 重启docker Windows 10命令行

    我试图弄清楚如何在命令行中重新启动 docker 以便我可以制作一个 bat 脚本来重新启动它并启动一些容器 我使用管理员访问权限创建了一个 dos 提示符并运行以下命令 PS C Windows system32 gt net stop
  • 如何避免应用程序停止后 docker 容器停止

    有一个带有 Postgres 服务器的 docker 容器 postgres 停止或崩溃 无关紧要 我需要检查一些环境变量和一些文件的状态 默认情况下 容器在应用程序完成后停止 我知道有一个选项可以更改 dockerfile 中的默认行为
  • Docker 运行与创建

    有什么区别docker run and docker create命令 我通常使用run但有时在文档中我看到create 码头工人的 help tells create Create a new container run Run a co
  • 将 docker-compose.yml 中的包安装到 docker 容器中

    我是 docker 和 docker compose 的初学者 我需要你的帮助 我正在使用 docker compose 制作 PHP NGINX PostgresQL symfony 开发环境 这里是 web image nginx 1

随机推荐

  • ROS运行管理之launch文件

    ROS是多进程 节点 的分布式框架 xff0c 一个完整的ROS系统实现 xff1a 可能包含多台主机 xff1b 每台主机上又有多个工作空间 workspace xff1b 每个的工作空间中又包含多个功能包 package xff1b 每
  • C语言中#pragma pack(1)的用法

    一 xff1a 何时使用 pragma pack 1 的用法大多是用在结构体中 二 为什么使用 pragma pack 1 结构体的字节对齐方式在不同的编译器中不同 xff0c 会存在数据冗余 xff0c 以下举个例子 struct exa
  • STM32与ROS之间的串口通信

    一 引言 马上要找工作了 xff0c 因此总结一下之前做的项目里面涉及到的重要的知识点 xff0c 经常使用到STM32与ROS之间的串口通信 xff0c 串口通信必然涉及到发送和接收两个过程 xff0c 下面详细讲解 二 STM32向RO
  • CPU、MCU、MPU、DSP的区别

    CPU xff08 Central Processing Unit xff0c 中央处理器 xff09 发展出来三个分枝 xff0c 一个是DSP xff08 Digital Signal Processing Processor xff0
  • 四旋翼与四元数学习笔记

    为了实现四旋翼无人机的编队控制 xff0c 重点学习了四旋翼加速度转换为姿态角和推力指令的具体手段 xff0c 详细学习了四元数 旋转矩阵 欧拉角在四旋翼上的应用 xff0c 学习了四旋翼的几何控制法 姿态角控制器设计 xff0c 学习了m
  • Anaconda安装

    一 确认系统 Windows系统与Linux系统的安装包不一样 xff0c 首先确认机带系统 二 下载安装包 2 1 桌面版系统下载安装 从清华镜像下载速度会比较快 网址为 xff1a https mirrors tuna tsinghua
  • SPI接口及驱动

    1 简介 SPI接口是Motorola 首先提出的全双工三线同步串行外围接口 xff0c 采用主从模式 xff08 Master Slave xff09 架构 支持多slave模式应用 xff0c 一般仅支持单Master 时钟由Maste
  • SLAM基础知识总结

    SLAM基础知识总结 1 视差与深度信息2 3D世界坐标点 gt 2D像素坐标 正向投影 2 1 世界坐标 to 摄像机坐标 xff08
  • 第五章 控制系统的稳定性分析

    2006 04 04 10 26 46 第五章 控制系统的稳定性分析 控制系统实用的首要条件是系统必须稳定 本章介绍稳定性的基本概念 稳定性判据 系统的相对稳定性 1 控制系统稳定性的基本概念 一 xff0e 稳定性的定义 xff1a 系统
  • 【无人机开发】通讯协议MavLink详解

    1 MAVLink简介 MAVLink xff08 Micro Air Vehicle Link xff0c 微型空中飞行器链路通讯协议 xff09 是无人飞行器与地面站 xff08 Ground Control Station xff0c
  • Android注解基础用法

    注解的介绍 注解介绍 注解是在 Java SE5 引入进来的 注解又称为标注 xff0c 用于为代码提供元数据 作为元数据 xff0c 注解不直接影响你的代码执行 xff0c 但也有一些类型的注解实际上可以用于这一目的 可以作用在类 方法
  • EXCEL数据导入TIPTOP ERP 系统

    测试系统TIPTOP GP 3 0 主要用到DDE API 函数描述DDEConnectThis function opens a DDE connectionDDEExecuteThis function executes a comma
  • 【Python】闭包的实现原理,如何在内部函数修改外部函数的变量

    什么是闭包 xff1f 闭包是指在一个函数中定义了一个另外一个函数 xff0c 内函数里运用了外函数的临时变量 xff0c 并且外函数的返回值是内函数的引用 xff0c 这样就构成了一个闭包 闭包的使用 xff0c 可以隐藏内部函数的工作细
  • C++ 构造函数后加冒号

    其实冒号后的内容是初始化成员列表 xff0c 一般有三种情况 xff1a 1 对含有对象成员的对象进行初始化 xff0c 例如 xff0c 类line有两个私有对象成员startpoint endpoint line的构造函数写成 xff1
  • PCL-- cpprestsdk发送http请求

    前言 通过前文的内容 xff0c 以及将基本的PCL的库函数学习完成 xff0c 但是考虑到系统的存在 xff0c 并非孤立的 xff0c 是相互沟通交流的 考虑到当下可移植性 xff0c 以及便捷性 xff0c 采用Http的方式进行 x
  • PX4 offboard模式能接收的mavros指令

    以下内容针对px4 v1 11 3 xff08 2021 01 xff09 px4 offboard模式下可以接收上位机发送来的setpoint值 xff0c 可以利用ROS包mavros来发送这些setpoint xff08 期望值 xf
  • NVIDIA Jetson NX 控制GPIO

    目录 前言运行引脚图片 前言 看到一些博客说需要pip安装Jetson GPIO 以及通过下面命令设置用户权限 sudo groupadd span class token operator span f span class token
  • 程序员们,AI来了,机会来了,危机也来了

    程序员们 xff0c AI来了 xff0c 机会来了 xff0c 危机也来了 1 人工智能真的来了 纵观古今 xff0c 很少有计算机技术能有较长的发展寿命 xff0c 大部分昙花一现 xff0c 比如 xff1a 昔日的DOS windo
  • VNC连接服务器(centos 7)后黑屏,鼠标是一个小方框?

    问题描述 xff1a VNC连接服务器 xff08 centos 7 xff09 后黑屏 xff0c 鼠标是一个小方框 xff1f 尝试了网上说的思路 xff0c 大部分不能解决问题 只有一个部分解决 xff08 可以出来类似打开主文件夹后
  • Docker 命令

    1 Docker命令 docker info 显示 Docker 系统信息 xff0c 包括镜像和容器数 docker version 显示 Docker 版本信息 2 镜像命令 docker images 列出本地镜像 docker im