master
bicijinlian 3 years ago
parent a4665f98b8
commit 9a460b0314

@ -5,15 +5,21 @@ RUN /bin/sh -c 'echo Dockerfile设置VOLUME > demo.data'
WORKDIR /App/Logs/
RUN /bin/sh -c 'echo 我是日志内容 > demo.log'
# VOLUME设置放在文件操作之后这样容器启动之后数据卷里就有文件;这样可以设置数据卷中的默认文件。
# VOLUME设置放在文件操作之后这样容器启动之后数据卷里就有文件;可以设置数据卷中的默认文件。
VOLUME ["/App/Datas/","/App/Logs/"]
WORKDIR /App
# docker build -f Dockerfile.VOLUME -t study.dockerfile.volume:latest -t study.dockerfile.volume:0.0.1 .
# docker run -it study.dockerfile.volume
# docker run --rm -it study.dockerfile.volume
# 启动容器加 --rm 参数时,导致容器退出时 VOLUME 数据卷也自动删除;手动删除的保留数据卷。
# 查看VOLUEM 方法一docker inspect container_id 方法二docker voluem ls
# 可以使用 Docker run -v 覆盖
# linux
# docker run --rm -it -v \Data1:/App/Datas study.dockerfile.volume
# windows
# docker run --rm -it -v D:\Data1:/App/Datas study.dockerfile.volume
# 问题Docker Desktop for Windows下 Docker run -v 覆盖之后, 镜像中的数据卷原有的文件被清空了-默认存在的文件被清空了而Linux下数据卷中默认文件被保留了。

@ -0,0 +1,55 @@
{
"Env": [],
"IIsConfig": {
"SdkType": "netcore",
"WebSiteName": "",
"LastEnvName": null,
"EnvPairList": []
},
"WindowsServiveConfig": {
"ServiceName": "",
"SdkType": null,
"LastEnvName": null,
"EnvPairList": []
},
"LinuxServiveConfig": {
"ServiceName": "",
"EnvParam": "",
"LastEnvName": null,
"EnvPairList": []
},
"DockerConfig": {
"Prot": "",
"AspNetCoreEnv": "",
"LastEnvName": null,
"RemoveDaysFromPublished": "10",
"Volume": "",
"Other": "",
"EnvPairList": []
},
"DockerImageConfig": {
"BaseHttpProxy": "",
"BaseImage": "",
"BaseImageCredential": {
"UserName": "",
"Password": ""
},
"TargetImage": "",
"TargetHttpProxy": "",
"TargetTags": [
""
],
"TargetImageCredential": {
"UserName": "",
"Password": ""
},
"ImageFormat": "Docker",
"Entrypoint": [
""
],
"Cmd": [
""
],
"IgnoreList": []
}
}
Loading…
Cancel
Save