Docker-数据卷-DockerFile

本文介绍了Docker中的数据卷使用,包括创建、查看、管理数据卷以实现容器数据持久化,并阐述了Dockerfile的作用,它是构建镜像的脚本,用于创建一致的开发、测试和部署环境。示例展示了如何创建包含Java环境的Centos镜像。
摘要由CSDN通过智能技术生成

1:数据卷

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

创建一个数据卷

docker volume create 数据卷名
#比如创建nginx数据卷
docker volume create nginx-vol

查看数据卷

docker volume ls

查看数据卷详细信息

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

创建容器和对应数据卷

  • -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

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

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

清理所有数据卷

docker volume rm ${docker volume ls}

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

参数

  • 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路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值