Docker命令总结

目录

一.Docker常用命令总结

1.镜像命令管理

2.容器命令管理

二.Docker镜像命令

1.docker search:搜索镜像

2.docker pull:下载镜像

3.docker push:上传镜像

4.docker images:查看本地镜像

5.docker inspect:获取镜像详细信息

6.docker tag:添加镜像标签

7.docker rmi:删除镜像

8.docker save:导出镜像

9.docker load:导入镜像

三.Docker容器操作命令

1.docker ps:查询容器运行状态

2.docker create:创建容器

3.docker start:启动容器

4.docker stop:停止容器

5.docker rm:删除容器

6.docker run:创建并启动容器

(1)加 -d 选项让Docker容器以守护形式在后台运行且容器所运行的程序不能结束

(2)执行后退出

(3)执行后不退出,以守护进程方式执行持续性任务

7.docker inspect:查看容器ip地址

8.docker exec:进入容器

9.docker stop:终止容器运行

10.docker logs:查看容器日志

11.docker export:容器导出

12.docker import:容器导入

13.docker cp:宿主机文件与容器文件复制

14.docker stats:查看docker消耗的资源状态 


一.Docker常用命令总结

1.镜像命令管理

指令描述
ls列出镜像
build构建镜像来自Dockerfile
history查看历史镜像
inspect显示一个或多个镜像的详细信息
pull从镜像仓库拉取镜像
push推送一个镜像到仓库
rm移除一个或多个镜像
prune一处未使用的的镜像,没有被标记或被任何容器引用的
tag创建一个引用源镜像标记目标镜像
export到处容器文件系统到tar归档文件
import导入容器文件系统tar归档文件创建镜像
save保存一个或多个镜像到一个tar归档文件
load加载镜像来自tar归档或标准输入
#查询 docker 版本和信息
docker version
docker info#搜索镜像(可以自己制作镜像上传本地或官网仓库 dockerfile)
docker search <镜像名>#下载镜像
docker pull <镜像名>#查看镜像列表
docker images#查看镜像详细信息
docker inspect <镜像 ID>#给镜像打标签
docker tag <镜像名>:<原标签> <镜像名>:<新标签>
#docker tag nginx:latest nginx:lnmp#删除镜像
docker rmi <镜像名>
docker rmi <镜像标签>
docker rmi <镜像 ID>
docker rmi `docker images -aq`		#删除所有镜像
docker images | awk 'NR>=2{print "docker rmi -f "$3}' | bash#镜像导出
docker save -o <导出的文件名> <镜像名>
#docker save -o nginx_v1 nginx:latest#镜像导入
docker load < [镜像文件]
#docker load < nginx_v1

2.容器命令管理

指令描述
ls列出容器
inspect显示一个或多个容器详细信息
attach附加本地标准输入,输出和错误到一个运行的容器
attach在运行容器中执行命令
commit构建一个新镜像来自一个容器
cp拷贝文件(夹)到一个容器
logs获取一个容器日志
port列出或指定容器端口映射
stats显示一容器资源使用统计
top显示一个或多个容器运行的进程
update更新一个或多个容器配置
stop/start/rstart停止/启动/重启一个或多个容器
rm删除一个或多个容器
#查询容器
docker ps -a#查看容器占用系统资源信息
docker stats#创建容器
docker create -it nginx:latest /bin/bash
#常用参数说明
> -i 让容器的标准输入保持打开
> -t 分配一个伪终端
> -d 以后台守护进程的方式运行#开启/停止/重启 容器
docker start <容器 ID>
docker stop <容器 ID>
docker restart <容器 ID>#后台运行,指定容器名称为 test
docker run -itd --name test nginx:latest /bin/bash#进入容器
docker exec -it <容器 ID> /bin/bash		#exit 退出#容器 导出/导入
docker export [容器 ID] > [文件名]
docker import [容器文件名] [指定镜像名称]		#导入的是镜像#批量停止容器
docker ps -a | awk 'NR>=2{print "docker stop "$1}' | bash
docker ps -a | awk 'NR>=2{print $1}' | xargs docker stop#批量删除容器
docker rm -f `docker ps -aq`
docker ps -a | awk 'NR>=2{print "docker rm "$1}' | bash
docker ps -a | awk 'NR>=2{print $1}' | xargs docker rm -f#批量删除 "exit" 状态(指定状态)的容器
for i in `docker ps -a | grep -i exit | awk '{print $1}'`; do docker rm -f $i;done#查看容器进程号
docker inspect -f '{{.State.Pid}}' <容器名>
docker inspect -f '{{.State.Pid}}' <容器 ID>##进入容器没有 systemctl 命令解决
添加 --privileged=true(指定此容器是否为特权容器),使用此参数,则不能用 attach。
> 示例:
docker run -itd --name test3 --privileged=true centos /sbin/init`/sbin/init 内核启动时主动呼叫的第一个进程`可以使用 docker inspect <容器ID>
docker ps -a
docker exec -it <容器ID> /bin/bash
yum install httpd -y
systemctl status httpd

二.Docker镜像命令

1.docker search:搜索镜像

2.docker pull:下载镜像

格式:docker pull 仓库名称[:标签]
#如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为 latest 标签。
例:docker pull nginx

3.docker push:上传镜像

docker push 命令用于将本地的 Docker镜像 上传到 Docker镜像仓库

docker官方公有仓库地址https://hub.docker.com/注册

默认上传到 docker Hub 官方公共仓库,需要注册使用公共仓库的账号。
可以使用 docker login 命令来输入用户名、密码和邮箱来完成注册和登录。
在上传镜像之前,还需要先对本地镜像添加新的标签,然后再使用 docker push 命令进行上传。docker tag nginx:latest wzyonline/nginx:kang	#添加新的标签
docker login						        	#登录docker官网公共仓库
Username:                                      #用户ID
password:                                      #网站用户登录密码
docker push wzyonline/nginx:zhuo				#上传镜像
docker logout                                   #登出docker官网公共仓库

4.docker images:查看本地镜像

docker images        #查看本地所有镜像
docker images -q     #只显示本地所有镜像的IDREPOSITORY   TAG       IMAGE ID       CREATED      SIZE
nginx        latest    ae2feff98a0c   9 days ago   133MB
--------------------------------------------------------
REPOSITORY:镜像属于的仓库;
TAG:镜像的标签信息,标记同一个仓库中的不同镜像;
IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像;
CREATED:镜像创建时间;
SIZE:镜像大小;

5.docker inspect:获取镜像详细信息

格式:docker inspect 镜像ID号/容器ID     
#根据镜像的唯一标识 ID 号,获取镜像详细信息

6.docker tag:添加镜像标签

格式:docker tag 名称:[旧标签] 新名称:[新标签]
例:
#给nginx打上标签web,原来的标签是latest
docker tag nginx:latest nginx:web
docker images | grep nginx

7.docker rmi:删除镜像

格式:
docker rmi 仓库名称:标签				#当一个镜像有多个标签时,只是删除其中指定的标签
docker rmi 镜像ID号					#会彻底删除该镜像注意:如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像。普通删除无法删除时,可以加-f选项强制删除。
docker rmi id -f
#-f:id号一样强删(慎用)例如:
docker rmi nginx:web#docker images -q 可以加载镜像id
#批量删除所有镜像
docker rmi `docker images -q`#批量删除nginx镜像
docker rmi `docker images|grep "nginx"`

8.docker save:导出镜像

格式:docker save -o 存储文件名 存储的镜像#-o:指定镜像文件名因为是导出来的文件一般是压缩包文件以tar为后缀
#另外一台主机安装好docker使用scp传输到另外一台主机
scp xx.tar 192.168.79.230:`pwd`
#另外一台主机查看并将文件加载到系统中例:
docker save -o nginx.tar nginx:latest	#存出镜像命名为nginx.tar存在当前目录下
ls -lh
scp nginx.tar root@192.168.227.101:/opt   #存出镜像命名为nginx.tar存在另一台机器opt目录下227

9.docker load:导入镜像

格式:
docker load < 存出的文件
docker load -i 存出的文件
例:
docker load < nginx.tar

三.Docker容器操作命令

1.docker ps:查询容器运行状态

格式:
docker  ps [选项]
常见选项:​
docker ps        #查看当前运行状态的容器
docker ps -q     #只显示运行状态的容器的ID
docker ps -a     #-a 选项可以显示所有的容器
docker ps -aq    #只显示所有容器的ID例如:
docker ps -a			#-a 选项可以显示所有的容器
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS    PORTS     NAMES
8b0a7be0ff58   nginx:latest   "/docker-entrypoint.…"   57 seconds ago   Created             inspiring_swanson容器的ID号	   加载的镜像     运行的程序               创建时间       当前的状态  端口映射  名称

2.docker create:创建容器

格式:docker create [选项] 镜像
常用选项:
-i:让容器开启标准输入
-t:让docker分配一个伪终端tty
-it:合起来用实现和容器交互的作用,运行一个交互式会话shell
--name:指定容器名称:不指定会随机生成
示例:
docker create -it nginx:latest /bin/bash

3.docker start:启动容器

格式:docker start 容器的ID/名称
例如:docker start adda1e1ba37e

4.docker stop:停止容器

格式:docker stop 容器的ID/名称
例如:docker stop adda1e1ba37e

5.docker rm:删除容器

格式:docker rm 容器的id/名称
-f:强制删除正在运行的容器
例如:docker rm 52b280e1320c

补充:批量删除容器

法一:
docker ps -a |awk 'NR>=2 {print $1}' | xargs docker rm
#查看容器运行状态从第二行开始查看第一个字段并将结果传参给docker rm 删除
法二:
docker rm $(docker ps -aq) 
#将命令的结果付给变量进行删除示例:
#格式:docker rm [-f] 容器ID/名称1.#不能删除运行状态的容器,只能-f强制删除,或者先停止再删除
docker rm 3224eb0448792.#已经退出的容器,可以直接删除
docker rm 1270a6791069 3.#基于名称匹配的方式删除
docker rm -f distracted_panini4.#删除所有运行状态的容器
docker rm -f `docker ps -q`5.#删除所有容器
docker rm -f `docker ps -aq`6.#有选择性的批量删除 (正则匹配)
docker ps -a l awk ' {print "docker rm "$1}'l bash7.#删除退出状态的容器
for i in `dockef ps -a l grep -i exit / awk '{print $1}' '; do docker rm -f $i;done

6.docker run:创建并启动容器

可以直接执行docker run命令,等同于先执行docker create命令,再执行docker start 命令
注意:容器是一个与其中运行的shell命令共存亡的终端,命令运行容器运行,命令结束,容器退出

格式:docker run [命令] [--name 容器名称] 镜像 [bash]  [-c 操作]
bash:指定运行环境
-c:不入容器执行指定命令
-d:后台运行并返回容器id
前台运行
docker run -it centos:7 bash -c ls /
docker run -i --name test1 centos:7 bash -c ls /
docker ps -a加 -d 选项让Docker容器以守护形式在后台运行且容器所运行的程序不能结束
docker run -itd --name test2 centos:7  /bin/bash#示例1:
docker run -itd nginx:latest /bin/bash#示例2:执行后退出
docker run centos:7 /usr/bin/bash -c ls /   #示例3:执行后不退出,以守护进程方式执行持续性任务
docker run -d centos:7 /usr/bin/bash -c "while true;do echo hello;done" 

(1)加 -d 选项让Docker容器以守护形式在后台运行且容器所运行的程序不能结束

(2)执行后退出

(3)执行后不退出,以守护进程方式执行持续性任务

7.docker inspect:查看容器ip地址

格式:docker inspect 容器id 
例如:
docker ps -a   #先查看运行时容器的id
docker inspect 7903adbc4ff9 

8.docker exec:进入容器

进入容器的容器状态必须是up状态

和shell 是两种运行模式

docker run -it会创建前台进程,但是会在输入exit后终止进程
docker attach会通过连接stdin,连接到容器内输入输出流,会在输入exit后终止容器进程
docker exec -it 会连接到容器,可以像SSH一样进入容器内部,进行操作,可以通过exit退出容器,不影响容器运行

格式:
docker exec -it id号/名称 bash/sh
#进去容器并指定运行环境
docker exec -it id号/名称 -c 命令
#不进入容器使用命令选项:
-i 选项表示让容器的输入保持打开;
-t 选项表示让 Docker 分配一个伪终端#先运行容器
docker ps -a 
#示例一:使用run进入,可以使用ctrl+d退出,直接退出终端
docker run -it centos:7 /bin/bash #示例二:想永久性进入,退出后还是运行状态,用docker exec
docker ps -a 
docker exec -it b99e0771c4e1  /bin/bash
exit #退出容器后,容器仍在运行#示例三:docker attach,会通过连接stdin,连接到容器内输入输出流,公在输入exit后终止容器进程
(临时性的,不推荐)

9.docker stop:终止容器运行

格式:docker stop 容器的ID/名称
例如:docker stop 38b5218ca96f 

10.docker logs:查看容器日志

格式:docker logs 容器id
例如:
#后台启动容器,并使用-P随机映射一个端口
docker run -id -P nginx:latest
docker ps -a       #映射端口为32768#浏览器使用宿主机IP和映射端口号,访问容器​
#查看容器日志
docker logs f90ba006d88a 

11.docker export:容器导出

用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。在迁移过程中,可以使用docker export 命令将已经创建好的容器导出为文件,无论这个容器是处于运行状态还是停止状态均可导出。可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。

导出格式:docker export 容器ID/名称 > 文件名
docker export 2592d3fad0fb > nginxtar

12.docker import:容器导入

导入格式:cat 文件名 | docker import - 镜像名称:标签
cat nginxtar | docker import - nginx:wsk
#导入后会生成镜像,但不会创建容器

13.docker cp:宿主机文件与容器文件复制

将宿主机文件复制到容器中

格式:docker cp 文件路径  容器id:目录#当前家目录下有一个zhuo.txt文件 复制到容器里
docker cp ./zhuo.txt 38b5218ca96f:/opt

将容器文件复制到宿主机中

格式:docker cp 容器id:文件路径 目标目录#当前容器有一个zhuo.txt文件 复制到宿主机data文件夹里
docker cp 38b5218ca96f:/opt/zhuo.txt /root/data

14.docker stats:查看docker消耗的资源状态 

docker stats

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/313849.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

李彦宏:程序员将不复存在! 周鸿祎回怼!网友:先把百度程序员都开除了!

近日&#xff0c;百度创始人、董事长兼首席执行官李彦宏在央视《对话》•开年说的访谈中指出&#xff1a;“基本上说以后其实不会存在“程序员”这种职业了&#xff0c;因为只要会说话&#xff0c;人人都会具备程序员的能力”。 “未来的编程语言只会剩下两种&#xff0c;一种…

Python 网络与并发编程(四)

文章目录 协程Coroutines协程的核心(控制流的让出和恢复)协程和多线程比较协程的优点协程的缺点 asyncio实现协程(重点) 协程Coroutines 协程&#xff0c;全称是“协同程序”&#xff0c;用来实现任务协作。是一种在线程中&#xff0c;比线程更加轻量级的存在&#xff0c;由程…

wstunnel (websocket模式ssh)

接上一篇 修改客户端运行参数 ssh -o ProxyCommand"./wstunnel client -L stdio://%h:%p ws://192.168.254.131:8080" 127.0.0.1 其中127.0.0.1为服务端的本地ssh访问&#xff0c;可以修改为通过服务端访问其他设备的ssh服务。例如&#xff1a; ssh -o ProxyComma…

C# 生成图形验证码

目录 应用场景 开发运行环境 设计 生成内容 生成图片 实现 核心代码 调用示例 小结 应用场景 我们当用户登录系统时经常会用到图形验证码技术&#xff0c;要求用户识别图片中的内容&#xff0c;并正确输入&#xff0c;方可尝试登录。类似的场景还有用户注册或者涉及…

C#带引导窗体的窗体设计方法:创建特殊窗体

目录 1.设计操作流程 2.实例 &#xff08;1&#xff09;Resources.Designer.cs &#xff08;2&#xff09;Frm_Main.Designer.cs &#xff08;3&#xff09;Frm_Main.cs &#xff08;4&#xff09;Frm_Start.Designer.cs &#xff08;5&#xff09;Frm_Start.cs &#…

Kubernetes:云原生时代的核心引擎

文章目录 一、Kubernetes简介&#xff1a;引领云原生潮流二、K8s的核心特性&#xff1a;自动化与智能化三、K8s的实践应用&#xff1a;打造高效云原生应用架构四、K8s的挑战与应对&#xff1a;安全与性能并重五、K8s的未来展望&#xff1a;无限可能与挑战并存《Kubernetes快速进…

【windows-搭建Ubuntu22LTS】

一、环境要求 1. windows版本要求 至少Windows 10 2020年5月(2004) 版, Windows 10 2019年5月(1903) 版&#xff0c;或者 Windows 10 2019年11月(1909) 版 2. 控制面板开启相关的程序(需要重启) 二、Microsoft store安装unbuntu 下载后直接运行&#xff08;稍微等会&#…

HTML 中创建 WebSocket服务与接收webSocket发送内容

效果图 服务端 html客户端接受的消息 接下来开始实现服务端 创建server.js const WebSocket require(ws);const wss new WebSocket.Server({ port: 8877 });wss.on(connection, function connection(ws) {console.log(WebSocket connection opened.);// 每隔 5 秒发送一次…

百种提权及手段一览系列第10集

特权升级的危险是显而易见的。通过提升权限&#xff0c;攻击者可以绕过网络安全措施&#xff0c;从而损害数据完整性、机密性和系统可用性。对于组织而言&#xff0c;这可能会导致数据泄露、系统停机以及潜在的法律和声誉后果。识别权限升级的迹象并部署预防性网络安全措施对于…

linux下 Mysql8.0 离线安装

环境&#xff1a;centos7.9 MysqlL8.0.36安装包 链接&#xff1a;https://pan.baidu.com/s/1bKwHr05z8Ye82dT9tntdUA 提取码&#xff1a;3a5z 参考Centos安装MYSQL8(离线可用) 文章目录 1、解压安装2、配置启动2.1 修改配置文件2.2 mysql 启动 3、mysql 测试 1、解压安装 #…

《欢乐钓鱼大师》攻略,钓友入坑必备!

欢迎来到《欢乐钓鱼大师》&#xff01;在这个游戏里&#xff0c;你可以尽情享受垂钓的乐趣&#xff0c;通过不断更换和升级高阶鱼竿&#xff0c;轻松地钓到各种稀有鱼类。因为许多玩家在挑战关卡时遇到了一些困难&#xff0c;所以今天我给大家带来了《欢乐钓鱼大师攻略指南》&a…

1-内核开发环境ubuntu+virtualbox+mobaXterm搭建

内核开发环境 ubuntuvirtualboxmobaXterm搭建 目录 内核开发环境 ubuntuvirtualboxmobaXterm搭建 1.virtualbox 安装 2.ubuntu 安装 3.网络设置 4.虚拟机安装ssh 服务&#xff0c;更新ubuntu 源安装基本软件 5.mobaXterm 个人免费版本安装 6.总结 本课程教程从0-1开始教…

VS调试技巧

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸各位能阅读我的文章&#xff0c;诚请评论指点&#xff0c;关注收藏&#xff0c;欢迎欢迎~~ &#x1f4a5;个人主页&#xff1a;小羊在奋斗 &#x1f4a5;所属专栏&#xff1a;C语言 本系列文章为个人学习笔记&#x…

GaN HEMT中短沟道效应的建模

来源&#xff1a;Modeling of Short-Channel Effects in GaN HEMTs&#xff08;TED 20年&#xff09; 摘要 在本文中&#xff0c;我们提出了一种用于估算GaN高电子迁移率晶体管&#xff08;HEMT&#xff09;器件中短沟道效应&#xff08;SCEs&#xff09;的显式和解析的基于电…

node.js egg.js

Egg 是 Node.js 社区广泛使用的框架&#xff0c;简洁且扩展性强&#xff0c;按照固定约定进行开发&#xff0c;低协作成本。 在Egg.js框架中&#xff0c;ctx 是一个非常核心且常用的对象&#xff0c;全称为 Context&#xff0c;它代表了当前 HTTP 请求的上下文。ctx 对象封装了…

Golang内存、指针逃逸、垃圾回收机制概览

最近看到了一篇文章是关于go的内存、指针逃逸和垃圾回收机制的&#xff0c;发现自己并未很细致的了解过这方面的内容&#xff0c;于是在翻阅各种文章的情况下&#xff0c;写出了这篇总结&#xff0c;参考文章放在文末&#xff0c;可自取 内存 Go 语言使用一个自带的垃圾收集器…

YOLOV5 TensorRT部署 BatchedNMS(engine模型推理)(下)

主要是在王新宇代码的基础上改进,引入对BatchedNMS的解码 文章目录 1. 修改yolov5.cpp2.修改yololayer.h1. 修改yolov5.cpp 首先增加全局变量,名字根据转onnx时修改的节点名字来,查看onnx文件可以看到,顺序不要弄错。 const char *INPUT_NAME = “images”; const char …

Aigtek:介电弹性体高压放大器在软体机器人研究中的应用

近年来软体机器人的研究成为目前机器人研究领域的热点&#xff0c;由于软体材料的自由度可以根据需求自由变化&#xff0c;因此软体机器人有着极高的灵活性&#xff0c;而且软体机器人因其材料的柔软性有着很好的人机交互性能和安全性。它的出现成功解决了传统的刚性机器人人机…

ArcGIS Pro专题地图系列教程

专题地图系列是ArcGIS Pro3.2的新功能。之前&#xff0c;如果要做8张相同区域的专题图&#xff0c;可能需要新建8个布局&#xff0c;分别进行排版&#xff0c;再导出。现在&#xff0c;一幅地图&#xff0c;一个布局&#xff0c;就可以完成这个流程。 原理是&#xff0c;根据单…

AI预测福彩3D第9套算法实战化测试第4弹2024年4月26日第4次测试

今天继续进行新算法的测试&#xff0c;今天是第4次测试。好了&#xff0c;废话不多说了&#xff0c;直接上图上结果。 2024年4月26日福彩3D预测结果 6码定位方案如下&#xff1a; 百位&#xff1a;4、5、7、8、3、9 十位&#xff1a;6、9、5、4、1、2 个位&#xff1a;7、8、5、…