容器数据卷

容器数据卷技术

它是一种将容器中的数据持久化到linux宿主机的技术。

# 1. 使用命令挂载 -v
docker run -it -v 主机目录:容器目录# 将容器centos 的home目录挂载到linux的用户docker_study/centos_home目录下面
[root@izbp1imy docker_study]# docker run -it -v      /usr/echo_lovely/docker_study/centos_home:/home 0d120b6ccaa8 /bin/bash
[root@09670c4a0836 /]## 2. 查看挂载信息~
docker inspect 被挂载的容器id

# 3. 在容器的home目录创建文件, 文件同步
[root@09670c4a0836 home]# touch demo.java
[root@09670c4a0836 home]# ls
demo.java
[root@09670c4a0836 home]## 4. 查看宿主机上的文件[root@izbp1imy centos_home]# ls
demo.java# 5. 在宿主机上修改demo.java , 双向绑定
[root@izbp1imy centos_home]# vim demo.java
[root@izbp1imy centos_home]# ls
demo.java
[root@izbp1imy centos_home]# cat demo.java
/**@author echo_lovey**@date 2020/11/24 11:05**/public class demo {public static void main(Stirng[] args) {System.out.println("hello world ~");}}
# 上面在宿主机上修改并查看了文件# 6. 进入容器,在容器中查看对应的文件
[root@izbp1imy centos_home]# ls
demo.java
[root@izbp1imy centos_home]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
09670c4a0836        0d120b6ccaa8        "/bin/bash"         22 minutes ago      Up 8 minutes                            eloquent_thompson
[root@izbp1imy centos_home]# docker attach 09670c4a0836
[root@09670c4a0836 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@09670c4a0836 /]# cd /home
[root@09670c4a0836 home]# ls
demo.java
[root@09670c4a0836 home]# cat demo.java
/**@author echo_lovey**@date 2020/11/24 11:05**/public class demo {public static void main(Stirng[] args) {System.out.println("hello world ~");}}
[root@09670c4a0836 home]## 上面可以看到被挂载的容器目录,和挂载到linux上指定目录。
# 其中一个改变,另外一个会同步!

挂载mysql

容器容易被删,需要将数据挂载到本地

1. 获取mysql镜像
docker pull mysql:5.72. 进行数据挂载~ 配置密码~ (docker hub) 可以挂载数据和配置文件,同时挂载多个。# 官方的使用, 设置密码docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag# 设置端口, 挂载了容器中的mysql 到data, 配置文件到conf目录。 并设置了密码~
[root@izbp1imy docker_study]# docker run -d -p 3310:3306 -v /usr/echo_lovely/docker_study/mysql/data:/var/lib/mysql -v /usr/echo_lovely/docker_study/mysql/conf:/etc/mysql/conf.d --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
421381366f7f7b90e2b332e82321e5e3b69263b3651b3ad0de31f6eb95b916f9
[root@izbp1imy docker_study]# # 外部使用sqlyog,测试连接到容器中的数据库成功,创建数据库。 查看linux中的数据库[root@izbp1imy docker_study]# cd mysql
[root@izbp1imy mysql]# ls
conf  data
[root@izbp1imy mysql]# cd data
[root@izbp1imy data]# ls
auto.cnf    ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile0  ibtmp1  performance_schema  public_key.pem   server-key.pem
bitqian_db  ca.pem      client-key.pem   ibdata1         ib_logfile1  mysql   private_key.pem     server-cert.pem  sys

具名和匿名挂载

# 匿名:-v 后面只指定被挂载的目录
匿名: docker run -d -P -v /etc/nginx/conf.d nginx# 具名: 指定名称, 带有目录和不带目录
# -v nginx_volume:/etc/jjj 
# -v /home/dir:/etc/jjj # 好像不被放到挂载信息里面# 1. 不指定目录的具名挂载centos
docker run -d --name centos01 -P -v centos01:/home centos# 查看挂载的卷
docker volume ls# 1.1. 查看centos1 被挂载的卷的信息
[root@izbp1imy home]# docker volume inspect centos01
[{"CreatedAt": "2020-11-24T14:57:32+08:00","Driver": "local","Labels": null,"Mountpoint": "/var/lib/docker/volumes/centos01/_data","Name": "centos01","Options": null,"Scope": "local"}
]# volume info ~
DRIVER              VOLUME NAME
local               centos01# 被挂载的卷在/var/lib/docker/volumes/这个目录# 2. 指定目录的挂载, 挂载信息未被记录~
docker run -d -p 81:80 -v /usr/echo_lovely/docker_study/nginx:/etc/nginx/ --name nginx01 nginx# 3. 匿名挂载 有挂载信息~
docker run -d -P --name nginx02 -v /etc/nginx nginx# volume info ~
DRIVER              VOLUME NAME
local               1d4cbe2f068c0f318b9057bbec374546a69c683f2637540ba05d4c2d12c69a42# 给被挂载的文件夹同时赋予 读写权限
# 只读   read only
docker run -d -P --name nginx02 -v /etc/nginx:ro nginx
# 读写都可 read write
docker run -d -P --name nginx02 -v /etc/nginx:rw nginx

容器的持久化和同步操作。容器之间也是可以数据共享的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420480.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对contentoffset的理解

今天遇到一个问题,在写瀑布流时,竖屏的时候可以正常实现,在手机变成横屏后,总是显示不全。 最终查了两个小时,查到了导致这个的原因,是自己的判断cell是否在当前显示区域的方法写错了。 根本原因是没有很好…

微信开发小程序

小程序开发工具win10下载地址 官方文档地址 学了一下小程序,… 虽然目前小程序用得少,本人。但是回家买票还是有用小程序的。 小程序开发不难,会三件套html, css ,js 就行了。如果你会vue就更快了。它就是一套前端项目…

DockerFile构建

dockerfiletodo item基础命令编写dockefiel基于centos镜像制作tomcatjdk的镜像todo item 是用来构建docker镜像的脚本;命令参数脚本。构建步骤:1、编写一个dockerfile文件2、 docker build 构建为一个镜像3、docker run 运行镜像4、docker push 发布镜像(dockerhub…

Linux:jumpserver V3的安装与升级(在线离线)(2)

官方文档写的非常详细,我这篇文章时间长了,会随着官方版本更新而落后 JumpServer - 开源堡垒机 - 官网https://www.jumpserver.org/安装和升级在官网也有详细的信息,我写本章是为了记录一下实验 我的系统是centos7.9 在线安装 在确定我们可…

redis 学习笔记(1)-编译、启动、停止

一、下载、编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先到这里下载Stable稳定版,目前最新版本是2.8.17 1.2 上传到linux,然后运行以下命令解压 tar xzf redis-2.8.17.tar.gz …

微信小程序 调用地图接口,实现定位

1. demo01.wxml <!-- 定位 --> <view><button type"default" bindtap"get_location">get position</button></view><view><map id"my_map" latitude"{{latitude}}" longitude"{{longitu…

【ASP.NET】获取网站目录的方法

获取网站物理路径: HttpRuntime.AppDomainAppPath获取网站虚拟路径: HttpRuntime.AppDomainAppVirtualPath转载于:https://www.cnblogs.com/chenguoxingblog/p/4107771.html

如何使用div优雅的布局

flex布局方式1&#xff0c;float飘起来~方式2&#xff0c;使用flex&#xff0c;将多个div合并到一行就是跨行和跨列嘛…如果表格做就easy…但是, div是块级标签&#xff0c;每个div会独占一行…方式1&#xff0c;float飘起来~ 下面的两个div会到一行… <div> <div s…

多行文本溢出问题

总结了一些网上看到的&#xff0c;结合自己的思考&#xff0c;举例如下&#xff1a; http://jssl915.github.io/overflow.html 转载于:https://www.cnblogs.com/lj915/p/4112840.html

spring-cloud学习demo,git地址

https://github.com/sevenyoungairye/spring-cloud2020 解决分布式&#xff0c;微服务的各种问题。 不停更新&#xff0c;欢迎三连。

centos7 frp内网穿透

git下载地址 中文文档参考 这里需要nginx 配置https证书, frp服务端&#xff0c;frp客户端, 阿里centos7, 子级域名。client -->(https) nginx --> frp server(7000) in linux:8888 --> frp client(7000) in windows --> current client:8080 client --> ge…

BZOJ 2324: [ZJOI2011]营救皮卡丘(带上下限的最小费用最大流)

这道题么 还是有些恶心的&#xff0c;第一次写带上下界的网络流&#xff0c;整个人都萌萌哒~~~首先先预处理得最短路后直接用费用流做就行了。第一次写&#xff0c;还是挺好写的 CODE&#xff1a;#include<cstdio>#include<iostream>#include<algorithm>#inc…

微服务基本环境的搭建

order-paymentspring-cloud 环境的搭建订单模块 服务消费者支付模块 服务提供者payment, CommonOrder公共抽取这里使用maven聚合的方式构建微服务。 只给出pom demo 地址 spring-cloud 环境的搭建 父依赖 <?xml version"1.0" encoding"UTF-8"?>…

EF三层

一. 主要内容 1. 数据层和业务层父类。&#xff08;泛型约束&#xff09; 2. 模板方法模式&#xff08;业务层子类方法通过业务层父类调用数据层子类的方法&#xff09;。 二. 源代码 http://files.cnblogs.com/HuoAA/EF%E4%B8%89%E5%B1%82.rar转载于:https://www.cnblogs.com/…

服务注册中心 eureka 搭建

服务注册中心&#xff0c;netfix公司的&#xff0c;出道即巅峰&#xff0c;可惜没人维护了。 1.x 可用&#xff0c;2.x 使用后果自负。本文讲eureka服务中心的搭建&#xff0c;分为单机版本和eureka集群版本。以及服务消费者&#xff0c;服务提供者如何入驻注册中心。 eurekaeu…

虚拟机 不能联网

当在vmware 中系统以 Nat 方式连接网络时&#xff0c;出现 &#xff1a; ping baidu.com ping unknown host baidu.com 检查一下以下几个地方,确保NAT上网的几个服务已经启动.具体操作如下: 开始---设置--控制面板---管理工具---服务 VMware DHCP Service VMware NA…

jwt, json web token

jwt1. JWT什么是JWTJWT能做什么为什么用JWTJWT结构JWT问题和趋势2. jwt加解密工具&#xff0c;使用pom工具类测试1. JWT 什么是JWT 官方定义 json web token是一个开放标准&#xff08;rfc7519&#xff09;&#xff0c;它定义了一种紧凑的&#xff0c;自包含的方式&#xff0c;…

kali 更新源

个人收集的kali 更新源: 修改更新源&#xff1a;vim /etc/apt/sources.list更新源列表包&#xff1a;#apt-get update更新系统软件: #apt-get upgrade#官方源 deb http://http.kali.org/kali kali main non-free contrib deb-src http://http.kali.org/kali kali main non-fre…