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磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

开发板NFS挂载文件目录

文章目录 序NFS1. 安装 NFS 服务器和客户端在服务器上(NFS 服务器端)在客户端上(NFS 客户端) 2. 配置 NFS 服务器创建共享目录编辑 `/etc/exports` 文件启动 NFS 服务 3. 在客户端挂载 NFS 共享创建挂载点挂载 NFS 共享验证挂载 4. 设置开机自动挂载5. 解决权限问题 序 本节主要实现虚拟机(服务器)与开发板(客户端)通过N

docker-compose安装和简单使用

本文介绍docker-compose的安装和使用 新版docker已经默认安装了docker-compose 可以使用docker-compose -v 查看docker-compose版本 如果没有的话可以使用以下命令直接安装 sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-c

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4