一.数据卷
1.1数据卷的基本使用
数据卷是一个特殊的目录,用于在Docker容器中持久化和共享数据。
数据卷的主要特点包括:
- 数据持久性:数据卷允许您在容器的生命周期之外保持数据的持久性。即使容器被删除,数据卷中的数据依然存在,可以被其他容器重新使用。
- 数据共享:数据卷可以在多个容器之间共享,这使得容器可以访问共享数据,从而便于实现多容器之间的数据通信。
- 数据独立性:数据卷不属于联合文件系统(Union File System, UFS),这意味着对数据卷的修改不会直接影响镜像层,从而保证了数据的独立性。
- 即时更新:对数据卷进行的修改会立即反映到宿主主机上,反之亦然。这确保了数据的实时同步。
- 两种类型:数据卷分为两种类型,一种是普通的数据卷,另一种是数据卷容器。数据卷容器是专门用来维护数据卷的容器,它们不会运行任何应用,仅仅是为了数据的持久化存储。
总的来说,数据卷是Docker中管理数据的一种重要方式,它提供了一种在容器外部存储数据的方法,使得数据可以在不同的容器和宿主机之间安全、高效地共享和重用。
1.2宿主机与容器共享目录
数据卷------------宿主机与容器共享目录
docker run -di --name c2 -v /home/shasha/data/:/home/shasha/data/ centos:7
下载好后进入shasha目录看一下
[root@localhost data]# docker exec -it c2 /bin/bash ----------------进入容器
[root@d01495d52976 /]# pwd ---------------显示在根目录下
/
[root@d01495d52976 home]# cd /home/shasha/data/ --------------进入data目录
[root@d01495d52976 data]#假如data是tomcat日志
[root@d01495d52976 data]# echo tomcatrun >123.txt
[root@d01495d52976 data]# ll
total 4
-rw-r--r--. 1 root root 10 Feb 28 08:57 123.txt
[root@d01495d52976 data]# pwdread escape sequence
[root@localhost data]# ll
总用量 4
-rw-r--r--. 1 root root 10 2月 28 16:57 123.txt
[root@localhost data]# cat 123.txt --------- 查看日志
tomcatrun
[root@localhost data]#
1.2 数据卷容器-------容器与容器共享目录
docker run -di -v /home/javaxl/data/c4 --name c4 centos:7
docker run -di --volumes-from c4 --name c6 centos:7
创建c4,然后绑定到c6,,c6里面也有/home/javaxl/data/c4
二.自定义镜像Dockerfile
Dockerfile
Dockerfile是一个文本文件,其中包含了一系列用于构建Docker镜像的指令和配置。通过在Dockerfile中编写这些指令,用户可以定义镜像中包含的文件、环境变量、运行命令等内容,从而实现定制化的镜像构建过程。Dockerfile通常用于自动化构建过程,使得镜像的构建过程更加简单、可重复和可管理。作用:制作镜像文件
2.1、使用情况
1. 需要在多个环境中部署相同的应用程序或系统配置。通过创建自定义镜像,可以在不同的环境中快速部署相同的配置,提高部署效率。2. 需要定制化的操作系统或应用程序。通过创建自定义镜像,可以在镜像中预先安装所需的软件包、配置文件等,以满足特定的需求。
3. 需要在本地开发环境和生产环境之间保持一致性。通过创建自定义镜像,可以在本地开发环境中构建和测试应用程序,并将相同的镜像部署到生产环境中,确保一致性。
输入 vi mycentosDockerfile