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

Docker基本使用【数据卷的挂载及常用命令】

镜像和容器:当我们利用docker安装应用时,Docker会自动搜索并下载应用的镜像(image),镜像不仅包含应用本身还包含应用所需要的环境、配置、系统函数库。Docker会在运行镜像时创建一个隔离的环境,称为容器(container)

一键部署mysql

输入以下命令:

docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=密码 mysql

命令解读:

  • docker run :创建并运行一个容器,-d是让容器在后台运行

  • --name mysql:给容器起一个名字,叫mysql,必须唯一

  • -p 3306:3306:设置端口映射,前面是宿主机端口,后面是容器内端口,容器内端口取决于进程,不需要改动,宿主机端口可以改动

  • -e :设置环境变量,参数类型为KEY=VALUE,可以设置多个,环境由要安装应用的官方提供

  • mysql:指运行镜像的名字,一般由两部分组成,镜像名:镜像版本,不写版本默认最新版本

常用镜像命令

忘记命令时可以使用--help查看

1)查看安装的镜像:

docker images

2)下载指定镜像:从docker仓库下载指定镜像,也叫拉取和git相同

docker pull 镜像名

3)打包指定镜像:

docker save -o 打包的包名 要打包的镜像名:版本号

4)删除指定镜像:

docker rmi 镜像名:版本

5)解析打包的镜像:

docker load -i 包名 -q
  • -i :后跟要解析的包名

  • -q :不要输出信息,可选

常用容器命令

1)创建容器:

docker run -d --name 容器名 -p 宿主机端口:进程端口(容器内) 镜像名称
  • -d:表示后台运行,一般不省略

  • --name :后跟容器名

  • -p :后跟端口映射

  • -e :环境变量,可选

  • 命令最后添加镜像名称

2)查看运行的容器:

docker ps

3)查看所有容器:

docker ps -a

4)停止容器:

docker stop 容器名

5)启动容器:

docker start 容器名

6)查看日志:

docker logs -f 容器名
  • -f:持续输出日志信息

7)进入容器:一个容器就模拟了一个操作系统

docker exec -it 容器名 bash
  • -it:表示添加一个可输入的终端,后跟容器名

  • bash:交互方式,bash表示命令行交互方式

8)删除容器:

docker rm 容器名

注意:删除运行的容器时会提示报错,有两种办法:1、停止在删除,2、容器名后面添加-f参数进行强制删除

9)查看容器详情:

docker inspect 容器名

数据卷

数据卷:是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁,由于使用docker exec 命令进入指定容器中没法使用vi命令修改文件信息,所以使用数据卷进行一系列操作。注意:创建数据卷时,首先进行数据挂载

常用命令

使用docker volume --help查看命令使用方法和提示

命令说明
docker volume create创建数据卷
docker volume ls查看数据卷
docker volume rm删除指定数据卷
docker volume inspect 数据卷名查看数据卷的详情
docker volume prune清除数据卷

数据挂载

1)第一种挂载方式:

在执行docker run 命令时,使用 -v 数据卷:容器内目录 可以完成数据卷的挂载,当创建容器时,如果挂载了数据卷且数据卷不存在,会自动创建数据卷,如果创建时不指定数据挂载,系统也会自动创建数据挂载,创建一个很长名字的数据卷

eg:创建nginx容器并创建数据挂载

docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx
  • html:表示创建的数据卷的名字

创建完成后使用docker volume inspect 数据卷名命令查看宿主机的目录文件,进行操作

2)第二种挂载方式:

在执行docker run 命令时,使用 -v 本地目录:容器内目录 可以完成本地目录的挂载,注意:本地目录必须以/或者./开头,如果直接以名称开头,会被识别为数据卷而非本地,这种挂载方式还需要挂载配置文件和初始化脚本

eg:创建nginx容器并创建数据挂载

docker run -d --name nginx -p 80:80 -v ./html:/usr/share/nginx/html nginx
  • ./html:表示创建本地数据挂载的名字

  • 注意:这种挂载方式可以实现数据的持久保存,推荐使用这种挂载方式

相关文章:

Docker基本使用【数据卷的挂载及常用命令】

镜像和容器:当我们利用docker安装应用时,Docker会自动搜索并下载应用的镜像(image),镜像不仅包含应用本身还包含应用所需要的环境、配置、系统函数库。Docker会在运行镜像时创建一个隔离的环境,称为容器&am…...

5G DTU实现燃气管道数据采集远程管理

随着物联网技术与智慧城市的不断发展,燃气管道户外组网的需求逐渐浮现。在户外组网应用中5G DTU(Data Terminal Unit)发挥着至关重要的作用。5G DTU可用于数据采集、传输与远程管理,能够实现燃气数据的单点或多点采集和传输&#…...

请解释Java中的代理模式,分别介绍静态代理和动态代理

请解释Java中的代理模式,分别介绍静态代理和动态代理 代理模式是一种常见的设计模式,它允许一个对象(代理对象)代表另一个对象(被代理对象)进行访问控制,以控制对对象的访问。代理模式可以在不…...

Python 文件处理指南:打开、读取、写入、追加、创建和删除文件

文件处理是任何Web应用程序的重要部分。Python有多个用于创建、读取、更新和删除文件的函数。 文件处理 在Python中处理文件的关键函数是open()函数。open()函数接受两个参数:文件名和模式。 有四种不同的方法(模式)可以打开文件&#xff1…...

记录C#导出数据慢的优化方法

Winform程序将数据库中的历史数据导出到Excel中速度慢&#xff0c;导出1000多条数据优化前需要40秒&#xff0c;优化后只需要2秒&#xff0c;4万条数据只需要10秒。 优化前&#xff1a; for (int i 0; i < myDGV.Columns.Count; i) {worksheet.Cells[1, i 1] myDGV.Col…...

Android批量加载图片OOM问题

Android批量加载图片OOM问题 前言使用内存缓存使用磁盘缓存处理配置更改 前言 将单个位图加载到界面中非常简单&#xff0c;但如果您需要同时加载较大的一组图片&#xff0c;则操作起来会比较复杂。实际上&#xff0c;在许多情况下&#xff08;比如使用 ListView、GridView 或…...

SNAT与DNAT公私网地址转换

前言 SNAT和DNAT是两种重要的网络地址转换技术&#xff0c;它们允许内部网络中的多个主机共享单个公共IP地址&#xff0c;或者将公共IP地址映射到内部网络中的特定主机。这些技术在构建企业级网络和互联网应用程序时非常重要&#xff0c;因为它们可以帮助保护内部网络安全&…...

快速上手Spring Boot整合,开发出优雅可靠的Web应用!

SpringBoot 1&#xff0c;SpringBoot简介1.1 SpringBoot快速入门1.1.1 开发步骤1.1.1.1 创建新模块1.1.1.2 创建 Controller1.1.1.3 启动服务器1.1.1.4 进行测试 1.1.2 对比1.1.3 官网构建工程1.1.3.1 进入SpringBoot官网1.1.3.2 选择依赖1.1.3.3 生成工程 1.1.4 SpringBoot工程…...

MySQL高级特性篇(7)-数据库版本控制与迁移

MySQL数据库版本控制与迁移 在软件开发的过程中&#xff0c;数据库版本控制和迁移是非常重要的一部分。这些过程确保了数据库的结构及数据的追踪和更新。在本篇博客中&#xff0c;我们将介绍如何使用Markdown语法来编写MySQL数据库版本控制与迁移的相关内容。 1. 什么是MySQL…...

js判断对象是否为空

给定一个对象或数组&#xff0c;判断它是否为空。 一个空对象不包含任何键值对。 一个空数组不包含任何元素。 输入&#xff1a;obj {"a": 1, "b": 2} 输出&#xff1a;false 解释&#xff1a;这个对象有两个键值对&#xff0c;所以它不为空。var isObje…...

2024前端面试准备之HTML篇

全文链接 1. doctype的作用是什么 DOCTYPE是html5标准网页声明,且必须声明在HTML⽂档的第⼀⾏。来告知浏览器的解析器⽤什么⽂档标准解析这个⽂档,不同的渲染模式会影响到浏览器对于 CSS 代码甚⾄ JavaScript 脚本的解析 ⽂档解析类型有: BackCompat:怪异模式,浏览器使…...

devOps系列(八)efk+prometheus+grafana日志监控和告警

前言 作者目前打算分享一期关于devOps系列的文章&#xff0c;希望对热爱学习和探索的你有所帮助。 文章主要记录一些简洁、高效的运维部署指令&#xff0c;旨在 记录和能够快速地构建系统。就像运维文档或者手册一样&#xff0c;方便进行系统的重建、改造和优化。每篇文章独立…...

考研英语单词29

Day 29 unify v.统一&#xff0c;使成一体【union n.结合&#xff0c;联合&#xff0c;工会&#xff0c;团结 unity n.团结&#xff0c;统一&#xff0c;协调】 offend v.冒犯&#xff0c;使不愉快【offender n.冒犯者 offensive a.冒犯的&#xff0c;无礼的】 d…...

spring-security 过滤器

spring-security过滤器 版本信息过滤器配置过滤器配置相关类图过滤器加载过程创建 HttpSecurity Bean 对象创建过滤器 过滤器作用ExceptionTranslationFilter 自定义过滤器 本章介绍 spring-security 过滤器配置类 HttpSecurity&#xff0c;过滤器加载过程&#xff0c;自定义过…...

掌握这7种软件设计原则,让你的代码更优雅

掌握这7种软件设计原则&#xff0c;让你的代码更优雅 在软件开发过程中&#xff0c;设计原则是非常重要的指导方针&#xff0c;它们可以帮助我们创建出更加清晰、可维护和可扩展的软件系统。本文将介绍7种常见的软件设计原则&#xff0c;并解释它们如何提升代码质量。 1. 单…...

Flutter自定义tabbar任意样式

场景描述 最近在使用遇到几组需要自定义的tabbar或者类似组件&#xff0c;在百度查询资料中通常&#xff0c;需要自定义 TabIndicator extends Decoration 比如上图中的带圆角的指示器这样实现 就很麻烦&#xff0c; 搜出来的相关也是在此之处上自己画&#xff0c;主要再遇…...

Java设计模式【策略模式】

一、前言 1.1 背景 针对某种业务可能存在多种实现方式&#xff0c;传统方式是通过传统if…else…或者switch代码判断&#xff1b; 弊端&#xff1a; 代码可读性差扩展性差难以维护 1.2 简介 策略模式是一种行为型模式&#xff0c;它将对象和行为分开&#xff0c;将行为定…...

(13)Hive调优——动态分区导致的小文件问题

前言 动态分区指的是&#xff1a;分区的字段值是基于查询结果自动推断出来的&#xff0c;核心语法就是insertselect。 具体内容指路文章&#xff1a; https://blog.csdn.net/SHWAITME/article/details/136111924?spm1001.2014.3001.5501文章浏览阅读483次&#xff0c;点赞15次…...

【linux】使用g++调试内存泄露:AddressSanitizer

1、简介 AddressSanitizer(又名 ASan)是 C/C++ 的内存错误检测器。它可以用来检测: 释放后使用(悬空指针) 堆缓冲区溢出 堆栈缓冲区溢出 全局缓冲区溢出 在作用域之后使用 初始化顺序错误 内存泄漏这个工具非常快,只将被检测的程序速度减慢约2倍,而Valgrind将会是程序…...

第三百五十七回

文章目录 1. 概念介绍2. 使用方法2.1 List2.2 Map2.3 Set 3. 示例代码4. 内容总结 我们在上一章回中介绍了"convert包"相关的内容&#xff0c;本章回中将介绍collection.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的内容是col…...

使用Taotoken后Keil5项目代码审查效率的直观提升

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用Taotoken后Keil5项目代码审查效率的直观提升 1. 背景与需求 在嵌入式开发领域&#xff0c;代码审查是保证软件质量的关键环节…...

Captain AI:Ozon售后全流程智能化,降低损失,提升复购

售后运营是Ozon店铺稳定发展的关键&#xff0c;优质的售后体验能提升买家复购率、维护店铺口碑&#xff0c;而国内商家在售后运营中&#xff0c;常常面临“时差响应慢、纠纷处理不专业、退换货流程繁琐”的问题&#xff0c;导致买家差评增加、店铺权重下降&#xff0c;甚至产生…...

意识的“调谐客观还原”理论

“调谐客观还原”理论&#xff0c;通常称为 Orch-OR&#xff0c;是诺贝尔物理学奖得主罗杰彭罗斯与麻醉学家斯图尔特哈梅罗夫于20世纪90年代初提出的一种极具争议的意识假说。该理论的核心观点是&#xff1a;意识并非产生于神经元之间的经典电化学连接&#xff0c;而是源于神经…...

不止于指路,智慧导览如何重构公共空间价值

在过去很长一段时间里&#xff0c;公共空间的价值被简单地等同于功能性。一个公园只要有绿化和座椅&#xff0c;一个商场只要有商铺和电梯&#xff0c;一个政务大厅只要有窗口和座位&#xff0c;就被认为是合格的公共空间。然而&#xff0c;随着人们生活水平的提高和消费观念的…...

告别混淆!一文讲透 Flink State Backend 与 Checkpoint Storage

一、引言在 Flink 1.13 版本之前&#xff0c;StateBackend 接口是一个“大杂烩”&#xff0c;它同时负责两件事&#xff1a;状态的本地访问与存储&#xff08;Task 运行时状态存在哪&#xff1f;内存还是 RocksDB&#xff1f;&#xff09;Checkpoint 数据的持久化&#xff08;做…...

TCP 多客户端与服务器通信程序

一、项目简介 本项目是一个基于 Linux实现的 TCP 多客户端与服务器通信程序&#xff0c;主要包含&#xff1a; tcp_server&#xff1a;TCP 服务端程序&#xff0c;监听客户端连接&#xff0c;接收客户端数据&#xff0c;维护在线客户端列表。 tcp_client&#xff1a;TCP 客户…...

Redis 集群脑裂深度剖析:成因、危害与防丢失策略

Redis 集群脑裂深度剖析&#xff1a;成因、危害与防丢失策略 1. 引言 在 Redis 高可用架构中&#xff0c;主从复制 哨兵&#xff08;Sentinel&#xff09;模式为我们提供了自动故障转移的能力。然而&#xff0c;在分布式系统中&#xff0c;网络并不可靠——脑裂&#xff08;Sp…...

dvcs-ripper快速入门:5分钟掌握Git仓库提取技巧 [特殊字符]

dvcs-ripper快速入门&#xff1a;5分钟掌握Git仓库提取技巧 &#x1f680; 【免费下载链接】dvcs-ripper Rip web accessible (distributed) version control systems: SVN/GIT/HG... 项目地址: https://gitcode.com/gh_mirrors/dv/dvcs-ripper dvcs-ripper 是一个强大的…...

Deno_2.0全栈开发实战下一代JavaScript运行时完全指南

Deno 2.0全栈开发实战:下一代JavaScript运行时完全指南 📅 发布日期:2026-05-21 | 🏷️ 标签:Deno、TypeScript、全栈开发、Fresh框架、边缘计算 📖 阅读时间:约25分钟 | 💡 难度:中级到高级 前言:Deno 2.0——Node.js之父的"理想主义"终于落地 2018年…...

如何快速找回被遗忘的压缩包密码?ArchivePasswordTestTool终极指南

如何快速找回被遗忘的压缩包密码&#xff1f;ArchivePasswordTestTool终极指南 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 你是否曾经面…...