docker学习

  1. docker核心组件-技术手段:

C/S(Client/Sercer)
daemon-dockedd后台守护进程
CLI-command line interface(face)
tcp协议(HTTP协议)

  1. 业务手段

仓库-集中存放镜像的地方
镜像-最基础的系统,应用,只读
容器-基于镜像的运行的实体,可以读写
数据持久化-添加数据盘,数据卷,挂载linux目录
网络-bridge,nat,自定义

  1. docker容器数据管理的两种方式
    10.1. 挂载主机目录
    python docker run --name xxxx -p 8888:8888 -v /my:/docker -it imagename /bin/bash
    –name: 为容器起名字
    -p:宿主机端口:docker端口 (端口映射)
    -v:宿主机目录:docker目录 (必须为绝对路径)
    10.2. 数据卷
    数据卷是一个可供一个或多个容器使用的特殊目录,它绕过UFS,可以提供很多有用的特性:
    数据卷可以在容器之间共享和重用
    对数据卷的修改会立马生效
    对数据卷的更新,不会影响镜像
    数据卷默认会一直存在,即使容器被删除

创建数据卷

docker volume create mydata

查看所有数据卷

docker volume ls  

查看数据卷信息

docker volume inspect mydata 

挂载数据卷

docker run --name xxxx -p 8888:8888 -v mydata:/docker -it imagename /bin/bash

mydata:数据卷。系统自动寻找。
挂载方式二:
docker run --name xxxx -p 8888:8888 --mount
type:volume,source=/src/xxx,target=/xxx /my:/docker -it imagename /bin/bash
type选项,其可以是bind,volume,或 tmpfs。本主题讨论卷,因此类型始终是 volume

注意:使用-v参数时如果本地目录不存在Docker会自动为你创建一个文件夹。使用–mount参数时如果本地目录不存在,Docker会报错。Docker挂载主机目录的默认权限是读写,用户也可以通过增加readonly指定为只读。

如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中。(我的测试:使用 -v 参数并没有这个效果,需要使–mount参数,如果不符请指正)
如果挂载一个非空的数据卷到容器中的一个目录中,那么容器中的目录中会显示数据卷中的数据。如果原来容器中目录非空,那么这些原始数据会被隐藏掉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值