全网最详细Docker命令(分类总结)
默认存储容器地址 cd /var/lib/docker
容器生命周期

Docker 命令
开启docker : systemctl start docker
查看docker状态 :systemctl status docker
停止:systemctl stop docker
重启: systemctl restart docker
docker开机自启: systemctl enable docker
- 镜像
- 拉取镜像 docker pull nginx:1.23 备注:不指定版本的话,拉取的就是最新的
- 显示镜像列表 docker images
- 删除镜像 docker rmi 镜像ID
- 删除未使用的镜像 docker image prune
- 删除所有的镜像 docker rmi -f $(docker images -qa)
- 镜像打包为文件 docker image save id -o name(名称:redis5.tar) 备注:打包tar
- 文件载入镜像 docker image load -i redis5.0.tar 备注:将tar 导入
- 文件导入镜像 docker import centos.tar centos:test
- 提交镜像(提交容器成为一个新的副本)
- docker commit
- 命令和git原理类似
- docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
- 注意: commit镜像就是游戏存档 tag是版本版本信息
- 容器
- 显示正在运行的容器列表 docker ps
- 显示所有的容器ID docker ps -qa 备注: -q 显示ID -a 所有容器
- 启动容器
-
-
- docker run -it --name=aa redis:5.6 /bin/bash
- docker run -it b692a91e4e15 /bin/bash
-
-
-
-
- i:一直运行
- d:后台运行
- t:分配一个终端进入容器
- -P 宿主机端口:容器内部端口
- -m 限制内存
- --cpus 限制cpu个数
- --name 给容器一个名称 aa
- -e 环境配置
- 启动redis 容器 5.6 这个版本
-
- 进入当前正在运行的容器
- docker exec -it redis /bin/bash
- docker exec -it 容器ID /bin/bash
- 启动容器 docker start 容器ID
- 退出容器 exit
-
-
- 关闭容器 docker stop 容器ID
- 强制关闭容器 docker kill 容器ID
- 删除容器 dokcer rm 容器ID
- 暂停容器
-
-
- docker stop id
- docker stop name:tag
- 重启容器
- docker restart 容器ID
- docker restart name:tag
-
-
- 查看容器信息 docker inspect 容器ID
- 杀掉一个正在运行的容器 docker kill 容器ID
- 查看进程 docker top a
-
- 修改tag docker image tag 容器ID 名称:版本
- 从容器中拷贝出来 docker cp web10:/etc/nginx/nginx.conf /root/data/web10
- 导出容器 保存为文件
- docker export -o centos.tar bf4b4afa07e3 备注:-o 导出地址以及文件名
- 将容器打包成一个新的镜像
数据卷
- 使用数据卷
- 直接使用 -v 挂载
docker run -it -v 主机目录:容器内目录
用例:
docker run -it -v /home/ceshi:/home centos /bin/bash
通过 docker inspect 容器ID --查看挂载信息
- 具体挂载和匿名挂载
# 匿名挂载 docker run -d -p --name nginx01 -v /etc/nginx nginx # 查看所有的volume的情况 [root@JWei_0124 ~]# docker volume ls DRIVER VOLUME NAME local 964b8e505f12f65fb23fd21f05cfa9ecd6c2c6b2ca89c0e44f168bb017dfabd6 # 这种就是匿名挂载:我们在-v挂载目录时,只写了容器内的路径,没有写容器外的路径。 # 具名挂载 [root@JWei_0124 ~]# docker run -d -p 3344:80 --name nginx02 -v juming-nginx:/etc/nginx nginx [root@JWei_0124 home]# docker volume ls DRIVER VOLUME NAME local 1be3512d772b7af8543c35141d5bbbfe29549dabf0babb7ce8693833387de41d local 58ba3799ae59416c2b34d0672dfa848d158006f840bdb28b41ed463ed0a15599 # 通过 -v 卷名:容器内的路径(具名挂载) # 查看一下这个卷
# 如何确定是具名挂载,还是匿名挂载,还是指定路径挂载 -v 容器内的路径 # 匿名挂载 -v 卷名:容器内的路径 # 具名挂载 -v /宿主机路径:容器内路径 # 指定路径挂载
# 通过 -v 容器内的路径:ro rw 改变读写权限 ro read only # 只读 rw read write # 可读可写 # 一旦设置了容器权限,容器对我们挂载出来的内容就有了限定。 docker run -d -p 3344:80 --name nginx02 -v juming-nginx:/etc/nginx:ro nginx docker run -d -p 3344:80 --name nginx02 -v juming-nginx:/etc/nginx:rw nginx # 只要看到ro就说明这个路径只能通过宿主机来操作,容器内部是无法操作!
Dockerfile 构建镜像
FROM # 基础镜像,一切从这里开始构建 MAINTAINER # 镜像是谁写的:姓名+邮箱 RUN # 镜像构建的时候需要运行的命令 ADD # 步骤:tomcat镜像,这个tomcat压缩包!添加内容 WORKDIR # 镜像的工作目录 VOLUME # 挂载的目录 EXPOSE # 暴露端口配置 CMD # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代 ENTRYPOINT # 指定这个容器启动的时候要运行的命令,可以追加命令 ONBUILD # 当构建一个被继承DockerFile这个时候就会运行ONBUILD的指令。触发指令。 COPY # 类似ADD,将我们文件拷贝到镜像中 ENV # 构建的时候设置环境变量!
CMD和ENTRYPOINT区别
CMD # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代 ENTRYPOINT # 指定这个容器启动的时候要运行的命令,可以追加命令
Docker 网络
- bridge:桥接 docker(默认,自己创建也使用bridge桥接模式)
- none:不配置网络
- host:和主机共享网络
- container:容器网络连通!(用的少!局限很大)
相关文章:
全网最详细Docker命令(分类总结)
默认存储容器地址 cd /var/lib/docker 容器生命周期 Docker 命令 开启docker : systemctl start docker 查看docker状态 :systemctl status docker 停止:systemctl stop docker 重启: systemctl restart docker docker开机自启…...
运维自动化之ANSIBLE
一、Ansible的发展史及功能 官网:https://www.ansible.com/ 官方文档:https://docs.ansible.com/ 1、Ansible功能 2、Ansible特性 批量执行远程命令,可以对远程的多台主机同时进行命令的执行 批量安装和配置软件服务,可以对远程的多台主机…...
算法训练day42leetcode01背包问题 416. 分割等和子集
01 背包 题目描述 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 题目分析 每一件物品其实只有两个状态,取或者不取&…...
VulnHub - DarkHole
希望和各位大佬一起学习,如果文章内容有错请多多指正,谢谢! 个人博客链接:CH4SER的个人BLOG – Welcome To Ch4sers Blog DarkHole 靶机下载地址:DarkHole: 1 ~ VulnHub 0x01 信息收集 Nmap扫描目标主机…...
前端学习笔记 | WebAPIs(DOM+BOM)
一、作用和分类 1、基本概念 作用:使用JS去操作HTML和浏览器 分类:DOM(文档对象模型)和BOM(浏览器对象模型) html的标签JS的DOM对象 2、获取DOM对象-参数必须加引号 (1)选择匹配的第…...
简易内存池(100%用例)C卷(JavaPythonC++Node.jsC语言)
请实现一个简易内存池 , 根据请求命令完成内存分配和释放。 内存池支持两种操作命令,REQUEST和RELEASE,其格式为: REQUEST=请求的内存大小 表示请求分配指定大小内存,如果分配成功,返回分配到的内存首地址;如果内存不足,或指定的大小为 0 ,则输出error。 RELEASE=释放的…...
【算法与数据结构】队列的实现详解
文章目录 📝队列的概念及结构🌠 队列的顺序实现🌉初始化🌠入队🌉出队🌠获取队列首元素🌉获取队列尾部元素🌠获取队列中有效元素个数🌉 队列是否为空🌠查看队列…...
GPT-3后的下一步:大型语言模型的未来方向
摘要: 本文将概述GPT-3后的下一步:大型语言模型的未来方向,包括技术发展趋势、应用场景、挑战与机遇。 引言: GPT-3是OpenAI于2020年发布的一款大型语言模型,它在自然语言处理领域取得了突破性进展。GPT-3的出现标志…...
基于机器学习的曲面拟合方法
随着科技的不断发展,机器学习成为了最近最热门的技术之一,也被广泛应用于各个领域。其中,基于机器学习的曲面拟合方法也备受研究者们的关注。曲面拟合是三维模型处理中的重要技术,其目的是用一组数据点拟合出平滑的曲面࿰…...
【C++从练气到飞升】03---构造函数和析构函数
🎈个人主页:库库的里昂 ✨收录专栏:C从练气到飞升 🎉鸟欲高飞先振翅,人求上进先读书。 目录 ⛳️推荐 一、类的6个默认成员函数 二、构造函数 1. 构造函数的概念 2. 构造函数的定义 3. 构造函数的特性 三、析构函…...
mybatis转义字符
编写SQL中会用到<,>,<,> 等,但是在mybatis中不可以这么写,与xml文件的元素<>冲突,所以需要转义。整理转义字符如下: 符号原始字符转义字符大于>>大于等于>>小于<<小于等于<<和&&a…...
vue3 实现一个tab切换组件
一. 效果图 二. 代码 文件 WqTab.vue: <template><div ref"wqTabs" class"wq-tab"><template v-for"tab in tabs" :key"tab"><div class"tab-item" :class"{ ac: tabActive tab.key }" c…...
JSONObject在Android Main方法中无法实例化问题
目录 前言一、Main(非安卓环境)方法下运行二、安卓坏境下运行三、why? 前言 原生的json,即org.json.JSONObject; 在Android Studio中的Main方法里运行报错,但在安卓程序运行过程正常 一、Main(非安卓环境)方法下运行 static void test() {try {// 创建一个 JSON …...
京津冀协同发展:北京·光子1号金融算力中心——智能科技新高地
京津冀协同发展是党中央在新的历史条件下提出的一项重大国家战略,对于全面推进“五位一体”总体布局,以中国式现代化全面推进强国建设、民族复兴伟业,具有重大现实意义和深远历史意义。随着京津冀协同发展战略的深入推进,区域一体…...
aspnetcore使用jwt时一直提示401 authorization
测试aspnetcore使用Jwt做认证授权的时候,一直提示401 Authorization 最后发现问题所在,希望能有所帮助 1.检查注册了认证和授权中间件 缺一不可 /*认证*/app.UseAuthentication();/*授权*/app.UseAuthorization();2.检查swagger的配置项 builder.Servic…...
三款文案自动生成器,帮你轻松生成原创文案
文案在今天已经成为了许多企业和个人推广产品和服务的重要手段。然而,对于很多人来说,写作文案并非易事。有时候,我们可能会遇到文案灵感枯竭的情况,或者花费大量时间在寻找合适的词句上。但是,别担心!现在…...
多线程并发模拟实现与分析:基于Scapy的TCP SYN洪水攻击实验研究
简介 实现基于Python实现的多线程TCP SYN洪水攻击。该实例利用Scapy库构造并发送TCP SYN数据包,通过多线程技术模拟并发的网络攻击行为。 实现原理 SYN Flood攻击是一种经典的分布式拒绝服务(DDoS)攻击方式,利用了TCP协议握手过…...
git命令行提交——github
1. 克隆仓库至本地 git clone 右键paste(github仓库地址) cd 仓库路径(进入到仓库内部准备提交文件等操作) 2. 查看main分支 git branch(列出本地仓库中的所有分支) 3. 创建新分支(可省…...
LM2903BIDR比较器芯片中文资料规格书PDF数据手册参数引脚图功能封装尺寸图
产品概述: M393B 和 LM2903B 器件是业界通用 LM393 和 LM2903 比较器系列的下一代版本。下一代 B 版本比较器具有更低的失调电压、更高的电源电压能力、更低的电源电流、更低的输入偏置电流和更低的传播延迟,并通过专用 ESD 钳位提高了 2kV ESD 性能和输…...
遍历list过程中调用remove方法
1、普通for循环遍历List删除指定元素,list.remove(index) List<String> nameList new ArrayList<>(Arrays.asList("张三", "李四", "王五", "赵六")); nameList.add("张七"); nameList.add("…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
土建施工员考试:建筑施工技术重点知识有哪些?
《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目,核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容,附学习方向和应试技巧: 一、施工组织与进度管理 核心目标: 规…...
用递归算法解锁「子集」问题 —— LeetCode 78题解析
文章目录 一、题目介绍二、递归思路详解:从决策树开始理解三、解法一:二叉决策树 DFS四、解法二:组合式回溯写法(推荐)五、解法对比 递归算法是编程中一种非常强大且常见的思想,它能够优雅地解决很多复杂的…...
