全网最详细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("…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...

五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...