首页 > 系统相关 >docker从入门到实践学习笔记【环境ubuntu16.04】【四】

docker从入门到实践学习笔记【环境ubuntu16.04】【四】

时间:2023-05-19 16:31:58浏览次数:51  
标签:容器 入门 ubuntu16.04 -- 挂载 webapp docker 数据


目录

数据卷

创建一个数据卷

查看所有数据卷

查看指定数据卷的详细信息

启动容器的同时挂在数据卷

查看容器的信息

删除数据卷

在容器销毁时自动删除数据卷

挂载主机目录作为数据卷

挂载一个本地主机文件作为数据卷

 


 

数据卷

数据卷特性:

1.可以在容器之间共享和重用

2.对数据卷的修改立马生效

3.对数据卷的更新,不会影响镜像

4.数据卷默认一直存在,即使容器被删除

 

*注意: 数据卷 的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂载的 数据卷

 

创建一个数据卷

 

docker volume create 数据卷名称

docker从入门到实践学习笔记【环境ubuntu16.04】【四】_docker

查看所有数据卷

$ docker volume ls

查看指定数据卷的详细信息

$ docker volume inspect 数据卷名称

docker从入门到实践学习笔记【环境ubuntu16.04】【四】_数据_02

 

启动容器的同时挂在数据卷

使用docker run命令的同时用--mount参数来指定数据卷,一次可以挂载多个数据卷

 

$ docker run -d -P \
--name web \
--mount source=my-vol,target=/webapp \
training/webapp \
python app.py

-d   在后台运行,并返回容器ID

-P  映射容器端口

--name 容器名称

--mount source=挂载卷名称,target=容器里面的挂载点

training/webapp  容器镜像

python app.py 命令【具体我也不是很清楚】

docker从入门到实践学习笔记【环境ubuntu16.04】【四】_bash_03

查看容器的信息

 

$ docker inspect 【容器名称|容器ID|。。。。】

docker从入门到实践学习笔记【环境ubuntu16.04】【四】_docker_04

删除数据卷

 

$ docker volume rm 【数据卷名称】

docker从入门到实践学习笔记【环境ubuntu16.04】【四】_bash_05

在容器销毁时自动删除数据卷

docker rm -v

在删除容器的时候加上-v ,因为数据卷 是被设计用来持久化数据的,它的生命周期独立于容器,Docker 不会在容器被删除后
自动删除 数据卷 ,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的 数据卷

 

也可以用

$ docker volume prune

批量删除无主数据卷

docker从入门到实践学习笔记【环境ubuntu16.04】【四】_docker_06

【这里的my-vol还在使用中所以不会被删除】

挂载主机目录作为数据卷

 

$ docker run -d -P \
--name web \
# -v /src/webapp:/opt/webapp \
--mount type=bind,source=/src/webapp,target=/opt/webapp \
training/webapp \
python app.py

将主机的/src/webapp目录挂载到容器的/opt/webapp目录(数据的存储会相互影响),本地路径要是绝对路径。

以前使用 -v 参数时如果本地目录不存在 Docker 会自动为你创建一个文件夹,现在使用 --mount 参数时如果本地目录不存在,Docker 会报错。
 

 

挂载主机目录默认是读写权限,可以在后面指定readonly 指定为可读

$ docker run -d -P \
--name web \
# -v /src/webapp:/opt/webapp:ro \
--mount type=bind,source=/src/webapp,target=/opt/webapp,readonly \
training/webapp \
python app.py

 

挂载一个本地主机文件作为数据卷

$ docker run --rm -it \
# -v $HOME/.bash_history:/root/.bash_history \
--mount type=bind,source=$HOME/.bash_history,target=/root/.bash_history \
ubuntu:17.10 \
bash
root@2affd44b4667:/# history
1 ls
2 diskutil list

这样就可以记录在容器输入过的命令了。
 

标签:容器,入门,ubuntu16.04,--,挂载,webapp,docker,数据
From: https://blog.51cto.com/u_14008060/6313735

相关文章

  • 【由浅入深学MySQL】之MySQL索引基础入门
    本系列为:MySQL数据库详解,为千锋教育资深教学老师独家创作致力于为大家讲解清晰MySQL数据库相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【关注】持续追更~文末有本文重点总结,技术类问题,也欢迎大家和我们沟通交流!前言从今天开始本系列内容就带各位小伙......
  • oracle 中的用户、表空间、数据模式光速入门
    oracle中没有limitROWNUM来处理的只能通过嵌套来处理SELECT*FROM(SELECTCOMP_LN.GIM_RENKOU.LASTUPTIMEFROMCOMP_LN.GIM_RENKOUORDERBYCOMP_LN.GIM_RENKOU.LASTUPTIMEDESC)WHEREROWNUM=1oracle首先连接的时候分为servicename和SID(SystemIdentifi......
  • Zabbix搭建与主机监控(docker-compose方式安装)
    Zabbix搭建与主机监控Cloud研习社 Cloud研习社 2023-05-1907:31 发表于山东收录于合集#计算机211个#linux238个#云计算226个Cloud研习社为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以......
  • docker exec unknown shorthand flag: 'i' in -it
    当你使用的是以下图中的命令时:出现以上的报错,那就是因为tomcat这个容器中没有ping命令,需要单独下载。先进入容器:dockerexec-it容器名或容器id/bin/bash进入容器执行,apt-getinstallnet-tools命令再执行,apt-getinstalliputils-ping命令容器不停止退出:Ctrl+P+Q然后再次......
  • 老杜MyBatis框架从入门到精通(三)使用MyBatis完成CRUD
    mybatis做为目前国内最为流行的开源orm框架,我们平时在使用时会感受到其带来的诸多便利,但是很少去深入分析,mybatis源码代码量不多,功能丰富,是一个很好的学习样例,本系列文章就和大家一起来学习mybatis框架本系列笔记根据动力节点B站上老杜讲的mybatis教程整理~学习地址:https://www......
  • .NET入门相关学习
    今日任务:制作一个可以对数据库增删改的简单信息系统。 利用官方教程做一个简单的学习。制作步骤整理:一、创建ASP.NETCoreWeb应用项目。二、更改Pages/Shared/_Layout.cshtml设置网站页眉、页脚和菜单,用于之后新建功能页面的跳转。1<ulclass="navbar-navflex-grow-......
  • “Linux 基础入门(新版)”实验报告 Linux 目录结构及文件基本操作
    Linux目录结构及文件基本操作来Linux目录结构UNIX是以目录为主的,Linux也继承了这一优良特性。Linux是以树形目录结构的形式来构建整个系统的,可以理解为树形目录是一个用户可操作系统的骨架。虽然本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说Linux......
  • Linux 基础入门(新版)”实验报告 基本概念及操作
    实验2基本概念及操作1.Linux桌面环境介绍UNIX/Linux本身是没有图形界面的,UNIX/Linux发行版上看到的图形界面实际都只是运行在Linux系统之上的一套软件。现在这套软件为xorg(X.Org),而这套软件又是通过X窗口系统(XWindowSystem,也常被称为X11或X)实现的,X本身只是工具包及......
  • “Linux 基础入门(新版)”实验报告 用户及文件权限管理
    用户及文件权限管理1.查看用户$whoami或者$whomomlikes输出的第一列表示打开当前伪终端的用户的用户名,第二列的pts/0中pts表示伪终端,pts/0后面那个数字就表示打开的伪终端序号,你可以尝试再打开一个终端,然后在里面输入whoami,看第二列是不是就变成pts/1了,第......
  • Docker Compose
    容器编排基本概念容器编排就是针对容器生命周期的管理,对容器的生命周期进行更快速方便的方式进行管理为什么需要依赖管理:一个容器必须在另一个容器运行完成后,才能运行时,就需要进行依赖管理副本数控制:容器有时候也需要集群,快速的对容器集群进行弹性伸缩配置共享:通过配置文件......