当前位置:   article > 正文

Docker-数据卷-DockerFile_dockerfile数据集

dockerfile数据集

1:数据卷

Volume:是主机的一个文件或者目录,用来持久化容器在运行过程中的数据,且不会随着删除容器而被删除

创建一个数据卷

docker volume create 数据卷名
#比如创建nginx数据卷
docker volume create nginx-vol
  • 1
  • 2
  • 3

查看数据卷

docker volume ls
  • 1

查看数据卷详细信息

docker volume inspect 数据卷名
#比如查看nginx-vol的信息
docker volume inspect nginx-vol
  • 1
  • 2
  • 3

创建容器和对应数据卷

  • -v 后面的内容为 宿主机的数据卷名称:容器内部需要同步数据的路径
  • 所有容器内同步出来的数据都存放在_data目录下
docker -id --name=容器名 -v 数据卷名:容器内部同步的数据路径 镜像名
#比如,创建nginx容器和nginx-vol数据集同步容器内/usr/share/nginx/html的文件
docker -id --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx
  • 1
  • 2
  • 3

清理数据卷
清理数据卷时必须保证有数据卷对应关系的容器被删除

docker volume rm 数据卷名
#比如清理nginx的数据卷
docker volume rm nginx-vol
  • 1
  • 2
  • 3

清理所有数据卷

docker volume rm ${docker volume ls}
  • 1

2:DockerFile

Dockerfile是由一系列命令和参数构成的脚本,这些命令基于基础镜像并创建一个新的镜像。

  • 对于开发人员来说:可以为开发团队提供一个完全一致的开发环境

  • 对于测试人员来说:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建镜像开始工作

  • 对于运维人员来说:在部署时,可以实现应用的无缝移植

构架一个Centos镜像,且配置Java环境

FROM centos:7
MAINTAINER HDLaZy
WORKDIR /usr
RUN mkdir /usr/local/java//
ADD jdk-8u321-linux-x64.tar.gz /usr/local/java/
ENV JAVA_HOME /usr/local/java/jdk1.8.0_321
ENV PATH $JAVA_HOME/bin:$PATH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

参数

  • FROM image_name:tag 定义了使用哪个基础镜像启动构建流程

  • MAINTAINER user_name 声明了镜像的创建者

  • ENV key value 设置环境变量(可以写多条)

  • RUN command 是Dockerfile的核心部分(可以写多条)

  • ADD source_dir/file 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压

  • COPY source_dir/file 和ADD类似,区别在于如果是一个压缩文件,复制后不解压

  • WORKDIR path_dir 设置工作目录

构建镜像

docker build 
docker build -t 镜像名
docker build -t 镜像名 -f DockerFile路径
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/429742
推荐阅读
相关标签
  

闽ICP备14008679号