wordpress多站点子目录建站,北京哪里能学做网站,小白怎么制作微信小程序,美容类网站模版目录 博客前言
一.数据卷
1.数据卷介绍
2.实战
宿主机和容器共享目录 容器和容器之间共享目录
二.自定义镜像
1.自定义镜像介绍
2.实战
2.1自定义centos#xff0c;具备vim及ifconfig作用
构建镜像
通过镜像运行一个容器进行测试
2.2自定义tomact#xff08;文件为…目录 博客前言
一.数据卷
1.数据卷介绍
2.实战
宿主机和容器共享目录 容器和容器之间共享目录
二.自定义镜像
1.自定义镜像介绍
2.实战
2.1自定义centos具备vim及ifconfig作用
构建镜像
通过镜像运行一个容器进行测试
2.2自定义tomact文件为相对目录
构建镜像 运行容器 博客前言
在当今的软件开发和运维领域容器化技术已经成为了一种趋势。Docker作为其中的佼佼者以其轻量级、可移植性和易于管理的特性赢得了广大开发者和运维人员的青睐。在Docker的世界里数据集和自定义镜像是两个核心概念它们对于构建高效、稳定的容器化应用起着至关重要的作用。
本博客将带你深入探索Docker数据集与自定义镜像的奥秘。我们将从基础概念出发逐步深入解析Docker数据集的存储与持久化策略以及如何构建和优化自定义Docker镜像。无论你是Docker的新手还是有一定经验的开发者相信都能从中获得宝贵的启示和实践经验。
在接下来的篇章中我们将一起探讨Docker数据集的创建、挂载和管理方法了解如何在容器之间共享和重用数据以及如何利用数据卷实现数据的持久化存储。同时我们还将详细介绍如何从零开始构建自定义Docker镜像包括选择基础镜像、安装和配置软件、优化镜像大小等关键步骤。
让我们一起踏上这场关于Docker数据集与自定义镜像的探索之旅揭开构建高效容器的秘密武器为应用容器化之路增添更多可能
一.数据卷
1.数据卷介绍
Docker数据卷Docker Volume是Docker用于存储数据的一种机制它使得数据可以在容器之间共享和持久化。数据卷的设计目的是独立于容器的生命周期即使容器被删除数据卷也不会被删除。因此数据卷可以用来保存和持久化容器的数据以便在需要时重新使用或共享。
Docker数据卷可以看作是容器内的目录或文件但它不属于联合文件系统Union FileSystem因此可以绕过联合文件系统提供的一些用于持续存储或共享数据的特性。数据卷可以在容器之间共享或重用数据卷中的更改可以直接生效并且数据卷中的更改不会包含在镜像的更新中。
要使用Docker数据卷可以在运行容器时通过指定挂载数据卷的命令来创建和挂载数据卷。例如使用docker run -v命令可以将宿主机的目录或文件挂载到容器的目录或文件中。在挂载数据卷时还可以指定数据卷的读写权限例如可读可写或只读。
除了直接挂载宿主机目录或文件作为数据卷外Docker还提供了名为“volumes”的数据卷管理方式。使用“volumes”方式创建的数据卷由Docker管理并且可以在多个容器之间共享和重用。这种方式的优点是数据卷的管理更加灵活和方便可以更好地满足应用的需求。
总之Docker数据卷是一种用于存储和持久化容器数据的机制它可以在容器之间共享和重用数据并提供了一些用于持续存储或共享数据的特性。通过合理使用Docker数据卷可以更好地管理和使用Docker容器中的数据。
docker run -it --name mycentos7 centos:7 /bin/bash
2.实战
宿主机和容器共享目录
将docker中的centos的/liuzhu 目录用于 共享到宿主机中
docker run -di --name c2 -v /liuzhi:/liuzhi centos:7 容器和容器之间共享目录
docker run -di -v /home/javaxl/data/c4 --name c4 centos:7
docker run -di --volumes-from c4 --name c6 centos:7
其中c4为数据卷容器c6为普通容器其中c4就起到一个桥接作用我们可以通过docker inspect查看容器的详细情况
docker inspect c4
docker inspect c6 会发现c4、c6目录挂载情况是一样的
结论不管c4、c6在指定目录创建文件夹还是文件都会会被共享 二.自定义镜像
1.自定义镜像介绍 自定义镜像是通过轻量应用服务器的快照或容器镜像创建的。这种镜像包含了对应轻量应用服务器的磁盘数据或容器运行环境用户可以使用自定义镜像来创建更多包含相同配置的轻量应用服务器或容器实例提高部署和管理的效率。 此外自定义镜像也可以被共享至云服务器ECS进一步通过共享镜像创建ECS实例或更换操作系统从而实现服务器的快速复制和迁移。 总的来说自定义镜像是一种强大的工具它允许用户快速复制和部署他们的服务器环境无论是用于测试、开发还是生产环境。然而需要注意的是虽然创建自定义镜像本身不收费但在使用镜像创建服务器或实例时可能会产生相关的服务器或资源费用。 2.实战
2.1自定义centos具备vim及ifconfig作用 创建文件夹 cd /liuzhi/software mkdir mydocker vi mycentosDockerfile 向 mycentosDockerfile 编辑内容
FROM centos:7
MAINTAINER liuzhi liuzhiqq.com
RUN yum -y install vim
RUN yum install net-tools.x86_64 -y
CMD /bin/bash
构建镜像
docker build -f mycentosDockerfile -t javaxl/centos:v1.0 .
通过镜像运行一个容器进行测试
docker run -it --name mc1 javaxl/centos:v1.0 /bin/bash 2.2自定义tomact文件为相对目录
通过vi命令进行创建文件 vi mytomcatDockerfile
FROM centos:7
MAINTAINER javaxl javaxlqq.comENV workerDir /home/javaxl/dockerfile/3
WORKDIR $workerDirADD jdk-8u151-linux-x64.tar.gz $workerDir
COPY apache-tomcat-8.5.20.tar.gz $workerDir
RUN tar -xvf apache-tomcat-8.5.20.tar.gz apache-tomcat-8.5.20ENV JAVA_HOME $workerDir/jdk1.8.0_151
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV TOMCAT_HOME $workerDir/apache-tomcat-8.5.20
ENV PATH $JAVA_HOME/bin:$TOMCAT_HOME/bin:$TOMCAT_HOME/lib:$PATHEXPOSE 8080
ENTRYPOINT [/home/javaxl/dockerfile/3/apache-tomcat-8.5.20/bin/catalina.sh,run]
构建镜像
docker build -f mytomcatDockerfile -t javaxl/tomcat8:v1.0 . 运行容器
通过代理8080端口号的方式进行访问
docker run -di --name mt1 -P javaxl/tomcat8:v1.0 直接通过80端口号进行创建
docker run -di --name mt2 -p 8080:8080 javaxl/tomcat8:v1.0