数据卷:将宿主机的一个目录映射到容器的一个目录,在宿主机的目录修改时容器中的目录也将修改
创建数据卷
docker volume create 数据卷名称
1.创建数据卷后会在宿主机下默认存放在一个目录/var/lib/docker/volumes/数据卷名称/_data
查看数据卷的详细信息
docker volume inspect 数据卷名称
查看全部数据卷
docker volume ls
删除数据卷
docker volume rm 数据卷名称
应用数据卷
1.映射数据卷时,如果数据卷不存在。docker会自动创建
docker run -v 数据卷名称:容器的内部路径 镜像id
2.指定一个位置作为数据卷的存放位置
docker run -v 路径:容器的内部路径 镜像id
3.启动容器(先停止容器)
docker run -d -p 访问端口:容器内的端口 --name 容器的名称 -v 数据卷的名称:容器内部路径 镜像的标识
当 数据卷的名称 为路径加名称时, 如果没有该数据卷则新建(弊端就是容器内原本的文件不会带出)
自定义docker镜像
创建一个Dockerfile文件,并且指定自定义信息。
Dockerfile文件中常用的内容
FROM: 指定当前自定义镜像依赖的环境,基础镜像
copy: 将相对路径下的内容复制到自定义镜像中
workdir: 申明镜像的默认工作目录
cmd: 需要执行的命令(在workdir下执行。cmd可以多个,但是以最后一个为准)
选写的字段
MAINTAINER 镜像作者
RUN 构建是需要的命令
ADD 集成文件或者服务
VOLUME 数据卷
EXPOST 对外暴露的端口
举例,自定义一个镜像,并且把war部署到镜像中
from daocloud.io/library/tomcat:8.5.16-jre8-alpine
copy Test001-1.0-SNAPSHOT.war /usr/local/tomcat/webapps
把Dockerfile文件和文件拖到服务器上,通过命令制作镜像
docker build -t 镜像名称:版本号 .
后面的 . 表示当前目录