docker的commit和容器数据卷

docker 镜像讲解、commit镜像、容器数据卷挂载、实战MySQL同步数据、具名和匿名挂载、dockerfile挂载、数据卷容器 一、镜像 镜像是什么? 镜像是一种轻量级别可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,他包含运行某个软件所需的所有内容,包括代码、运行时,库、环境变量、和配置文件。 所有的应用直接打包docker镜像,就可以直接跑起来。 如何得到镜像? 从远程下载 朋友给你 自己制作镜像(dockerfile) docker镜像原理: 1.UnionFS(联合文件系统) 我们看见下载的时候一层一层的就是这个! UnionFS(联合文件系统):Union文件系统(UnionFS)是一种分层、轻量级并 阅读详情

commit镜像

docker commit  提交容器成为一个新的副本
# 命令和git原理相似
docker commit -a="作者"  -m="提交的描述信息" 容器id  目标镜像名字:[tag]
实战测试
# 1、启动一个默认的tomcat
docker pull tomcat
docker run -d -p 3355:8080 --name  tomcat01 tomcat
# 2、发现这个默认的tomcat是没有webapps应用的,镜像的原因,官方的镜像默认webapps 下面是没有文件的!
# 3、把webapp.dist 下面的文件都拷贝到webapps下面
	# 3.1 进入容器
	docker exec -it tomcat01 /bin/bash
	# 3.2 拷贝
	cp -r webapps.dist/* webapps
# 4、提交成为本地镜像
docker commit -a="wkf" -m="add webapps app" 7fc2d95fbc60 tomcat02:1.0

在这里插入图片描述

总结一下
如果想要保存当前容器的状态,就可以通过commit来提交,获得一个镜像

容器数据卷

容器的持久化和同步操作!容器之间也是可以共享

方式一:直接使用命令挂载 -v

docker run -it -v 主机目录:容器内目录
# 测试
[root@wkf home]# docker run -it -v /home/ceshi:/home centos /bin/bash
# 查看当前容器的卷是否挂载成功  需要在容器外操作
[root@wkf ~]# docker inspect 00e843f128ce

在这里插入图片描述
测试文件之间的同步
在这里插入图片描述

关闭容器再测试

1、停止容器
2、宿主机上修改文件
3、启动容器
4、观察容器内的数据是否同步
在这里插入图片描述

具名和匿名挂载

匿名挂载

-v  容器内路径
docker run -d -p 3344:80 --name nginx01 -v /etc/nginx nginx 

# 查看所有的volume 的情况
[root@wkf980120 conf]# docker volume ls
DRIVER    VOLUME NAME
local     3cb391132ed39233e743896fda97b833fbd3afd4825b35815f04f1b7c4e58d9f

# 这里发现,这种就是匿名挂载,我们在 -v 只写了容器内路径,乜有写容器外路径

具名挂载

-v  卷名:容器内路径
docker run -d -p 3345:80 --name nginx02 -v rela-nginx:/etc/nginx nginx 

# 查看所有的volume 的情况
[root@wkf980120 conf]# docker volume ls
DRIVER    VOLUME NAME
local     rela-nginx

# 通过 -v  卷名:容器内路径
# 查看这个卷
[root@wkf980120 conf]# docker volume inspect rela-nginx
[
    {
        "CreatedAt": "2022-07-10T21:01:56+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/rela-nginx/_data",
        "Name": "rela-nginx",
        "Options": null,
        "Scope": "local"
    }
]

所有的docker容器内的卷,没有指定目录的情况下都是在 /var/lib/docker/volumes/xxxx/_data

通过具名挂载可以方便的查询找到我们的卷,大多数情况使用具名挂载

# 如何确定是匿名挂载还是具名挂载,还是指定路径挂载
-v  容器内路径			  # 匿名挂载
-v  卷名:容器内路径		  # 具名挂载
-v  /宿主机路径:容器内路径  # 指定路径挂载

拓展:

# 通过 -v  容器内路径:ro 或rw  改变读写权限
ro read only 	# 只读
rw read write	# 可读可写
# 一旦设置了容器权限,容器对我们挂载出来的内容就有限定了  
docker run -d -p 3345:80 --name nginx02 -v rela-nginx:/etc/nginx:ro nginx
docker run -d -p 3345:80 --name nginx02 -v rela-nginx:/etc/nginx:rw nginx

Dockerfile挂载

Dockerfile 就是用来构建 docker镜像的构建文件! 命令脚本
通过这个脚本可以生成镜像,镜像是一层一层的,脚本是一个个的命令,每个命令就是一层!

# 1、创建一个dockerfile文件 vim添加内容
# 文件中的内容  指令(大写)  参数
FROM centos
VOLUME ["volume01","volume02"]
CMD echo "-----end-----"
CMD /bin/bash
# 每个命令都是镜像中的一层
# 2、创建
# -f  文件     -t  镜像名字版本  最后有个 .
docker build -f dockerfile1 -t wkf/centos:1.0 .

查看创建的镜像
在这里插入图片描述

数据卷容器

多个容器之间的数据同步 --volumes-from

1、启动第一个容器
docker run -it --name docker01 wkf/centos:1.0

2、启动第二个容器
# --volumes-from docker01 从docker02 挂载到docker01
# docker01 就是一个数据卷容器
docker run -it --name docker02 --volumes-from docker01  wkf/centos:1.0

3、在docker01 中的volume01 中创建文件,发现直接同步到docker02

实现两个mysql之间数据共享

# mysql01
[root@wkf ~]# docker run -d -p 3310:3306 -v /etc/mysql/conf.d  -v /var/lib/mysql  -e MYSQL_ROOT_PASSWORD=这里写自己的密码  --name mysql01  mysql:5.7

# mysql02
[root@wkf ~]# docker run -d -p 3310:3306 -v /etc/mysql/conf.d  -v /var/lib/mysql  -e MYSQL_ROOT_PASSWORD=这里写自己的密码  --name mysql02 --volumes-from mysql01  mysql:5.7

# 这个时候,可以实现两个容器数据同步

结论

容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器使用为止。
但是一旦持久化到了本地,本地的数据是不会被删除的

【docker】docker commit 提交容器改变 docker commit 命令用于创建一个新的镜像,该镜像基于现有容器的当前状态。CONTAINER。 阅读详情

相关推荐

【数据攻略】字节面试真题(含答案)+100道面试题库

数据攻略

qq_40002713的博客 4102

docker的commit命令

docker的commit命令 docker commit提交容器副本使之成为一个新的镜像 docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名] 案例演示ubuntu安装vim ①从Hub上下载ubuntu镜像到本地并成功运行 ②原始的默认Ubuntu镜像是不带vim命令的 ③外网连通的情况下,安装vim ④安装完成后,commit我们自己的新镜像 ⑤启动我们的新镜像并和原来的对比

weixin_47472270的博客 3069

生物信息学实战:如何用STRING数据库和R语言搞定蛋白互作网络分析(附完整代码)

本文提供了一份完整的生物信息学实战指南,详细介绍了如何利用STRING数据库和R语言进行蛋白互作网络分析。从差异表达基因列表出发,涵盖数据准备、数据库连接、网络构建到高级可视化与模块识别的全流程,并附有可复现的完整R代码,帮助研究人员深入解析转录组数据背后的蛋白互作关系。

milk5的博客 945

提交Docker容器

docker commit提交容器成为一个新的镜像: docker commit -m="提交的描述信息" -a="作者" 需要提交的容器ID 镜像名称:TAG 这里以tomcat为例,因为tomcat镜像官方默认在webapp下是没有任何文件的,我们可以启动tomcat后,将webapps.dis下的文件拷贝到webapps以后就可以以这个为基础镜像。 1、下载镜像 2、启动容器 docker run -d -it -p 9090:8080 43e421a14aec 启动完成后,进入容器: do

Alinlx的博客 866

【Chipyard】Gemmini快速上手

Gemmini 加速器在 ResNet50 推理任务中表现出计算密集型优势,核心操作周期分布符合深度学习模型特征,推理预测流程完整且测试通过,为后续硬件优化和模型部署提供了有效参考。

2354

如何用DETR(detection transformer)训练自己的数据集

DETR(detection transformer)简介 DETR是Facebook AI的研究者提出的Transformer的视觉版本,是CNN和transformer的融合,实现了端到端的预测,主要用于目标检测和全景分割。 DETR的Github地址:link

weixin_50233398的博客 3万+

【自学Docker】Docker commit命令

docker commit 命令用于根据 Docker 容器的更改创建一个新的 Dokcer 镜像。

haicoder_ibai的博客 1万+

AI 技术新手入门与实战指南

仅仅能对话还不够,实际应用中,我们往往需要让 AI 处理特定的业务数据。比如,从日志文件中提取错误码,或者将非结构化的用户反馈整理成 JSON 格式。这时候,自定义输入和严格的结果验证就显得尤为重要。假设我们需要让 AI 分析一段服务器日志,并只返回错误的级别和简述。请分析以下日志片段,提取所有 ERROR 级别的信息。要求输出格式为 JSON 列表,包含 'timestamp' 和 'message' 两个字段。不要输出任何多余的解释文字。日志内容: {

2600_94936330的博客 2680

docker02:镜像原理、镜像commit、容器数据卷、容器数据共享

联合文件系统 docker镜像是一层一层嵌套的,比如说tomcat镜像,需要linux内核,外包centos,jdk’,最后是tomcat,这样就构成了一个linux环境下的精简tomcat 特点 Docker镜像都是只读的 当容器启动时,一个新的可写层被加载到镜像的顶部。 这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。 ...

TimEcho的博客 291

C# 读取图片和扫描PDF中的文本

本博客将探讨如何使用C#和OCR库实现从图片和扫描的 PDF 中提取文本。Spire.OCR for .NET 是一个OCR文字识别库,专为在 .NET 应用程序中识别图片的文本而设计。首先,使用 Spire.PDF 将扫描的 PDF 转换为图片,然后利用 Spire.OCR 从这些图片中提取文本。由于该OCR库并不支持直接处理PDF,因此要从扫描的 PDF 中提取文本,我们首先需要将 PDF 文档转换为图片。转换完成后,再利用 Spire.OCR 从生成的图片中提取文本。方法来识别图片中的文本。

nuclear2011的博客 5400

Windows 11最新WDK安装避坑指南:从Visual Studio配置到KMDF驱动开发

本文提供了在Windows 11系统上进行KMDF驱动开发的完整环境搭建与实战指南。针对最新WDK与Visual Studio的配置变化,详细解析了从独立安装WDK/SDK、创建首个KMDF驱动项目,到编译排错、部署调试的全流程,帮助开发者高效避坑,顺利开启Windows内核开发。

weixin_29302047的博客 526

快速入门Docker(4)——commit镜像|容器数据卷

         上篇文章给家讲解了实战练习附带了给大家又聊了下境像讲解的原理,本篇文章主要给家聊一聊关于commit的和容器数据卷相关内容附带一些练习,编写不易:对你有帮助【一键三连,收藏】。 看完掌握以下内容: commit 镜像 原理 了解什么是容器数据卷 如何使用数据卷 附带 MySQL 安装实战 了解具名和匿名挂载 一、commit 镜像 docker commit 提交容器成为一个新的副本 # 命令和git

大数据记录 3797

Vue - 解决报错 Error: Cannot find module ‘XXX\@vue\cli-service\bin\vue-cli-service.js‘(vue项目编译运行出错,启动失败)

vue报错,Error: Cannot find module ‘@vue\cli-service\bin\vue-cli-service.js‘,vue2项目启动报错,vue3项目运行出错,vue执行npm run serve报错,找不到@vue/cli-service模块,vue项目关于:Error: Cannot find module ‘D:\@vue\cli-service\bin\vue-cli-service.js‘的解决方案,vue项目跑不起来了,Vue项目报错,跑项目报错Cannot fi

🏆 前端领域优质创作者 3113

《docker》 Docker中的Commit镜像与容器数据卷:定制镜像和持久化数据的利器

Docker作为一种轻量级容器技术,提供了许多便捷的功能,包括Commit镜像和容器数据卷。通过这些功能,您可以定制镜像、持久化数据,并在开发和部署过程中获得更多灵活性。本文将深入解析Docker中的Commit镜像和容器数据卷,帮助您更好地理解它们的用途和应用。Commit镜像是指将修改后的容器保存为新的镜像版本。通过Commit,您可以将容器中的变更转化为新的镜像,使您可以定制和管理镜像。下面是一个简单的Commit示例:# 创建一个容器# 在容器内安装新的软件包# 提交容器为新镜像。

山赶着山,山山漫漫结成关 378

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Commit镜像、容器数据卷、DockerFile、Docker网络

Commit镜像: 如果想要保存当前容器的状态,就可以头通过commit来提交,获得一个镜像 #1、启动一个默认的tomcat #2、发现这个默认的tomcat是没有webapps应用的,镜像原因,官方默认webapps下面是没有文件的 #3、手动拷贝webapps.dist下的所有文件到webapps中 #4、将我们操作过的容器通过commit提交为一个镜像,我们以后就是用我们修改的镜像即可,这就是我们自己的一个修改镜像 #命令 dockercommit -m="提交的描述信息" -a..

qq_51058681的博客 207

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

docker的深入浅出--2.镜像原理和分层结构及commit指令的使用及容器数据卷(数据共享)及数据卷容器

目录 一、镜像原理 为什么tomcat的镜像会有400多mb 镜像为什么要使用分层结构 二、commit指令的使用 tomcat容器的安装和启动及镜像和commit指令深入分析 三、docker容器数据卷(数据共享) 1、直接通过命令 创建centos容器数据卷 创建并设置数据卷权限 2、DockerFile创建数据卷 四、docker数据卷容器 1、实现容...

moxiaolin的博客 398

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Docker学习(7)docker commit、容器数据卷

docker run -it -p 8888:8080 tomcat -p 主机端口:docker容器端口 -p 随机分配端口 i:交互 t:终端 docker commit提交容器副本使之成为一个新的镜像 docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名] Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据作为镜像的一部分保存下来,那么当容器删除后,数据自然也没有了。 为了能保存数据,在docker中我们使

深海的鱼 1014

pymysq向mysql写数据 为什么本地无法查看_快速入门Docker(4)——commit镜像|容器数据卷...

上篇文章给家讲解了实战练习附带了给大家又聊了下境像讲解的原理,本篇文章主要给家聊一聊关于「commit的和容器数据卷相关内容」附带一些练习,编写不易:对你有帮助【「一键三连」,「收藏」】。 看完掌握以下内容:commit 镜像 原理了解什么是「容器数据卷」如何使用数据卷附带 MySQL 安装实战了解具名和匿名挂载一、commit 镜像docker commit 提交容器成为...

weixin_39886612的博客 86

p20 docker自己commit一个镜像 p21 容器数据卷 p22mysql同步数据(国内镜像被封锁暂时往后放)p23具名挂载和匿名挂载

v 容器内路径 # 匿名挂载-v 数据卷名:/容器内路径 # 具名挂载-v /宿主机路径:/容器内路径 # 指定路径挂载。

jkjkjkjk_的博客 1528

docker随笔命令----容器数据卷

docker commit 提交容器副本使之成为一个新的容器 docker run -it -p 6666:8080 tomcat 从hub上下载Tomcat镜像到本地并成功运行, -i 交互 -t 终端 -p 端口 -P(大写) 分配随机端口 docker commit -a="xxxx" -m="xxxxx" 容器ID 容器名字:标签名(中间用冒号隔开...

瑞凯 192

Docker(二)Commit和数据卷

镜像Commit docker commit 从容器创建一个新的镜像。 docker commit 提交容器副本使之成为一个新的镜像! # 语法 docker commit -m="提交的描述信息" -a="作者" 容器id 要创建的目标镜像名:[标签名] 测试: # 1、从Docker Hub 下载tomcat镜像到本地并运行 -it 交互终端 -p 端口映射 docker run -it -p 8080:8080 tomcat # 注意:坑爹:docker启动官方tomcat镜像的容器,发现404是因

zk86547462的博客 743

Docker数据卷使用过程中想到的几个问题

但有一种方法可以将数据卷挂载记录到文件里,通过修改文件而改变数据卷挂载,就是通过使用docker compose,这样每次只要修改在compose.yaml文件里的参数,就可以达到修改挂载数据卷。答:我的理解是:挂载的的数据卷保留在宿主机上,并不会提交到镜像中。答:已经创建的容器我的理解是不能改变改变数据卷挂载的。答:我的理解是不可以的。

weixin_42844704的博客 422

Docker镜像&容器数据卷

宿主机目录会自动创建(前提是有权限)docker run [-it/-d] --privileged=true -v /宿主机目录:/容器内目录 镜像名。

Sun的个人博客 1104

docker===》commit镜像、部署nginx、tomcat、容器数据卷挂载、实战MySQL同步数据

一、commit镜像 #1.docker commit 提交容器成为一个新的副本 #命令和get原理类似 docker commit -m="提交的描述信息" -a="作者" [容器ID] 目标镜像名:[TAG] #实战测试 - 启动一个默认的tomcat - 发现这个默认的tomcat,是没有webapps应用,镜像的原因,官方的镜像默认web apps下面是没有文件的 - 我自己拷贝进去了进本的文件 - 将我们操作过的容器通过commit提交为一个镜像,我们以后就使用我们修改过的镜像即可

Elaina_fang✨✨✨的博客 427

docker笔记(二):镜像、容器数据卷

要构建自己的镜像,需要创建一个Dockerfile,使用简单的语法定义创建和运行镜像所需的步骤。镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、库、环境变量和配置文件 所有的应用,直接打包docker镜像就可以直接跑起来。所有docker镜像都起始于一个检查镜像层,当进行修改或增加新的内容时,就会在当前镜像层之上,创建新的镜像层。Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。

dopapapa的博客 1436

Docker容器数据卷

⒈Docker容器中数据如何持久化?    ①通过commit命令使容器反向为镜像   ②以容器数据卷的方式将数据抽离 ⒉容器数据卷的作用?   ①容器数据的持久化   ②容器间继承、共享数据 ⒊能干嘛?   卷就是目录或文件,存在于一个或多个容器中,由Docker拦截到容器,但不属于联合文件系统,因此能够绕过联合文件系统提供一些用于持续存储或共享数据的特性。   卷的设...

weixin_30952103的博客 71
上一篇: docker安装部署一些软件(nginx、tomcat、mysql、es)
下一篇: DockerFile的使用
花落 失忆
博客等级 码龄6年 33粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值