docker 挂载卷,必会的docker数据管理(三)

2024-06-16 10:38

本文主要是介绍docker 挂载卷,必会的docker数据管理(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

回顾

命令回顾

卷挂载

方式一:-v 命令

方式二:复制容器的文件

1. 启动容器,先不挂载

2. docker cp 把运行中的 nginx 的内容复制出来

方式三:匿名挂载

第四种方式:具名挂载(推荐)

volume 维护卷

具名挂载实例

结语:


回顾

首先我们要安装 镜像 /【容器】,到 docker hub 的官网下载 (https://hub.docker.com/search?q=redis&type=image)。

命令回顾

# 启动 docker

systemctl  start  docker

# 查看 docker 状态

systemctl  status docker

#  停止 docker 

systemctl  stop  docker 

# 查看、启动、停止容器

docker ps -a   或  docker ps

docker start 容器id / 容器名

docker stop 容器id / 容器名

# 批量启动、停止、删除容器

docker start $(docker ps -aq)

docker stop $(docker ps -aq)

docker rm $(docker ps -aq)

# 启动一个容器(第一次运行)

docker  run  -d  --name  [自定义名]  -p  宿主机IP(Linux暴露外部的IP):容器IP  [镜像id / 镜像名:[tag] ] 

例如: docker run --name my-redis -p 6379:6379 -d redis:6.0  。 如果没有镜像会到 docker  hub 自动下载。

卷挂载

前言:假设我要修改容器中的配置,每次都得进入容器后台找到配置目录进行修改,这样非常的麻烦,所以这个时候就需要把容器中的配置挂载到外部 linux 环境。

方式一:-v 命令

# 将主机操作系统目录直接映射进容器

docker run --name mynginx -p 80:80 -v /usr/local/etc/nginx:/usr/share/nginx/html -d daee903b4e43

# --name:给容器自定义名称

# -p:端口暴露给外网

# -v:卷挂载, linux 目录:容器目录,需要注意的是,linux 目录无需到html 层。

 

挂载之后发现并不能访问 index.html,原因是 -v 挂载,会把容器中的内容清空,因为外部 linux 环境的目录是空的,所以映射给容器时,就清空了。

这个时候需要自己手动添加 html 页面,vi index.html,编写内容如下: 

 

docker inspect 容器ID /  容器名

# 查看资源详细信息。Binds 是容器挂载的路径。

  • 这种挂载方式并不推荐

 

方式二:复制容器的文件

1. 启动容器,先不挂载

例如: docker run -d --name my-nginx -p 88:80 daee903b4e43

# 命令语法:docker run -d --name [自定义名] -p 宿主机IP(Linux暴露外部的IP):容器IP [镜像id / 镜像名:[tag] ]

2. docker cp 把运行中的 nginx 的内容复制出来

[root@localhost ~]# docker cp --helpUsage:  docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

 访问成功,访问的是默认首页。 如果用 -v 命令,挂载的目录是没有任何文件的,而且容器中的文件也会被清空。但这种方式也不是最优方式。

 

方式三:匿名挂载

docker run -d -p 80:80 --name mynginx \
-v /usr/share/nginx/html \
-v /etc/nginx \
daee903b4e43

# 斜杠:换行作用。匿名挂载的缺点是不好维护

docker ps

# 查看运行中的容器

docker inspect 912247bf4258

# 命令语法:docker inspect 资源ID / 资源名称,资源可以是镜像,也可以是容器。意思是查看资源的详细信息。下面我们查看容器挂载的路径在哪。

第四种方式:具名挂载(推荐)

volume 维护卷

volume 常用命令

docker volume --help  :帮助命令

docker volume ls  :查看挂载名列表

docker volume create  :创建

docker volume inspect  :查看信息,例如 docker volume inspect 3ecc56524f6972fde27d4e819b76fd806b8ec1e1db8b87a42210a2823182a917

docker volume rm / prune  :移除

# 以上命令自己去尝试,在此省略。

  • docker volume create 挂载名
    创建具名挂载,例如:docker volume create nginx-conf 。
    可以省略,挂载时必须命名。

  • docker volume inspect 挂载名
    查看挂载信息,例如:docker volume inspect nginx-conf

具名挂载实例

docker run -d -P --name mynginx \
-v nginx-conf:/etc/nginx \
-v nginx-html:/usr/share/nginx/html \
daee903b4e43

# -v 挂载名: 容器路径

docker inspect 容器ID / 容器名:查看挂载信息。 

 

 

结语:

至此,docker 挂载的内容全部介绍完了,多复习研究,官网也是介绍了一下。如果对你有帮助,欢迎留言讨论。

这篇关于docker 挂载卷,必会的docker数据管理(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066235

相关文章

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

linux lvm快照的正确mount挂载实现方式

《linuxlvm快照的正确mount挂载实现方式》:本文主要介绍linuxlvm快照的正确mount挂载实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux lvm快照的正确mount挂载1. 检查快照是否正确创建www.chinasem.cn2.

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

Docker安装MySQL镜像的详细步骤(适合新手小白)

《Docker安装MySQL镜像的详细步骤(适合新手小白)》本文详细介绍了如何在Ubuntu环境下使用Docker安装MySQL5.7版本,包括从官网拉取镜像、配置MySQL容器、设置权限及内网部署,... 目录前言安装1.访问docker镜像仓库官网2.找到对应的版本,复制右侧的命令即可3.查看镜像4.启

debian12安装docker的实现步骤

《debian12安装docker的实现步骤》本文主要介绍了debian12安装docker的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录步骤 1:更新你的系统步骤 2:安装依赖项步骤 3:添加 docker 的官方 GPG 密钥步骤

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

关于Docker Desktop的WSL报错问题解决办法

《关于DockerDesktop的WSL报错问题解决办法》:本文主要介绍关于DockerDesktop的WSL报错问题解决办法的相关资料,排查发现是因清理%temp%文件夹误删关键WSL文件,... 目录发现问题排查过程:解决方法其实很简单:重装之后再看就能够查到了:最后分享几个排查这类问题的小www.cp