当我们创建了一个tomcat容器,如何简单部署一个web应用?如何将war包放入到容器中?也就是说怎么样把文件从宿主机中 "放入" 到容器中?

docker cp命令可以将宿主机本地上的文件复制到容器中。

docker cp [本地文件] [容器id/容器名]:[容器目录]

docker cp /opt/web.war ebe706b78059:/usr/local/webapp

cp命令只是一种简单的方法,在容器中数据管理的主要方式有两种:

  1. 数据卷 volume
  2. 挂载主机目录 bind mounts
volume
数据卷是一个可以提供一个或者多个容器使用的特殊目录,可以使的容器可以绕过UFS(Unix File System)
 
特性:
多个容器之间可以共享
数据卷默认一直存在,容器删除时不删除(除强制使用命令参数删除)
数据卷的更新不影响镜像
数据卷的修改立刻生效
 
 
命令
创建:docker volume create [vol-name]
 
查看容器中的所有数据卷: docker volume ls 
 

查看指定的数据卷: docker volume inspect [vol-name]
 

删除数据卷: docker volume rm [vol-name]
 
清理无主的数据卷: docker volume prune
 
查看容器的信息 docker inspect [容器id/容器名称] ,在 "Mounts" key中有容器挂载的信息

容器启动挂载数据卷

1. 以-v 方式 docker run [选项] -v [数据卷名称]:[容器目录] [镜像名称/镜像id]

2. 以 --mount方式  docker run [选项] --mount type=bind,source=[数据卷名称],target=[容器目录] [镜像名称/镜像id]

挂载主机目录

挂载主机目录的方式有两种,-v 和 --mount

1. 以-v 方式 docker run [选项] -v [本地目录]:[容器目录] [镜像名称/镜像id]

2. 以 --mount方式  docker run [选项] --mount type=bind,source=[本地目录],target=[容器目录]  [镜像名称/镜像id]

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

Docker 挂载主机目录的默认权限是 读写 , 用户也可以通过增加 readonly 指定为 只读 。

docker run [选项] --mount type=bind,source=[本地目录],target=[容器目录],readonly  [镜像名称/镜像id]

<Docker学习>5. docker数据管理的更多相关文章

  1. Docker学习之Docker容器基本使用

    Docker学习之Docker容器基本使用 新建容器并启动 命令格式:docker run --options repository:tag 后台运行 命令格式:-d 已存在的容器相关操作 启动:do ...

  2. Docker学习之Docker镜像基本使用

    Docker学习之Docker镜像基本使用 获取镜像 命令格式:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] 例如: docker pull ...

  3. Docker学习笔记 — Docker私有仓库搭建

    Docker学习笔记 — Docker私有仓库搭建   目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2   和Mavan的管理一样,Dockers ...

  4. Docker学习笔记 - Docker容器内部署redis

    Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...

  5. Docker学习笔记 - Docker的守护进程

    学习目标:  查看Docker守护进程的运行状态 启动.停止.重启Docker守护进程 Docker守护进程的启动选项 修改和查看Docker守护进程的启动选项 1.# 查看docker运行状态  方 ...

  6. Docker学习笔记 - Docker客户端和服务端

    学习内容: Docker客户端和服务端的通讯方式:client和自定义程序 Docker客户端和服务端的连接方式:socket 演示Docker客户端和服务端之间用remote-api通讯:nc   ...

  7. Docker学习之Docker Registry

    前言 前面已经学习了怎样通过Dockerfile来构建我们自己的镜像了,但是一个系统可能包含着很多个微服务即有很多个镜像,当镜像越来越多的时候,就必须得有一个地方来管理这些镜像,Docker官方提供了 ...

  8. Docker学习:Docker安装和基本使用

    Docker Docek是一种容器技术.容器是一种轻量级.可移植.自打包的软件技术,使应用程序可以在几乎任何地方以相同的方式运行. 使用者可以在笔记本上创建并测试好的容器,无需任何修改就能够在生产系统 ...

  9. Docker学习之docker架构

    docker架构 解释 1.docker命令提交给docker daemon进行处理,可以拖取镜像,运行容器等等. 2.最右边的实际上是互联网的sass服务,docker daemon可以和Regis ...

  10. DOCKER学习_016:Docker镜像仓库和HARBOR的简单安装和管理

    一 镜像仓库介绍 1.1 简介 镜像仓库用于存放 Docker镜像 Docker registry提供镜像仓库服务 一个 Docker registry可以包含多个镜像仓库 仓库分为公共镜像仓库与私有 ...

随机推荐

  1. vue打包后CSS中引用的背景图片不显示问题

    vue项目中,在css样式中引用了一张背景图片,开发环境下是可以正常显示,build之后背景图片不显示. 解决方法: 找到build/utils.js文件 修改成为如下所示内容:  添加红框中的内容即 ...

  2. 零基础逆向工程38_Win32_12_信号量_线程控制小结

    1 信号量 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用.[百度百科] 1.1 创建信号量 HANDLE Create ...

  3. ASP.NET MVC 音乐商店 - 5. 通过支架创建编辑表单

    在上一章,我们已经从数据库获取数据,然后显示出来,这一章,我们将允许编辑数据. 创建 StoreManagerController 控制器 我们将要创建称为 StoreManager 的控制器,对于这 ...

  4. Python 爬虫实战(二):使用 requests-html

    Python 爬虫实战(一):使用 requests 和 BeautifulSoup,我们使用了 requests 做网络请求,拿到网页数据再用 BeautifulSoup 解析,就在前不久,requ ...

  5. web service 对外发布一个hello world接口(入门)

    1.写一个需要发布的接口 package com.hb; import javax.jws.WebParam; import javax.jws.WebService; @WebService pub ...

  6. LDAP 在ubuntu14.04下的安装配置install and configure

    https://help.ubuntu.com/lts/serverguide/openldap-server.html if error occurs in reinstall, try this: ...

  7. 笨办法学Python(十三)

    习题 13: 参数.解包.变量 在这节练习中,我们将讲到另外一种将变量传递给脚本的方法(所谓脚本,就是你写的 .py 程序).你已经知道,如果要运行 ex13.py,只要在命令行运行 python e ...

  8. Docker build 安装报错, Could not open requirments file: [Errno 2] No such file or directory:'requirements.txt'

    docker安装教程 https://docs.docker.com/get-started/part2/#build-the-app 相关帖子 https://stackoverflow.com/q ...

  9. 【Tim Sweeney】Why C++ for Unreal 4?

    The first three generations of the Unreal Engine included a sandboxed scripting language, UnrealScri ...

  10. UE4工具

    COMMON CONTAINERS TARRAY (Engine\Source\Runtime\Core\Public\Containers\Array.h) TSET (Engine\Source\ ...