我是 docker 新手。我试图运行 docker 并添加一些文件。用户应该能够更改这些文件并让 docker 发挥它的魔力。性能并不重要,但简单才是最重要的。应该可以运行 docker 而无需其他参数,只需“-it”。我尝试使用卷,但是...
docker-compose.yml:
version: '3.4'
volumes:
data:
name: templatevolume
services:
template:
image: template
volumes:
- data:/usr/template/:rw
build:
context: .
dockerfile: ./Dockerfile
...卷将被创建,但不会分配给 Docker。有没有更好的方法?我需要在运行命令中将卷分配给 Docker 吗?请提供建议。
Dockerfile:
FROM fedora:latest
LABEL Name=template Version=0.0.1
...
这是一个很长的 Dockerfile,但我在这里没有对卷进行任何处理,也没有什么特别的,只是安装包。
答案1
您可以使用绑定挂载。它们会将物理机的目录挂载到 docker 容器中。
对于这样的交易量,你需要指定来源 挂载,即 Docker 守护进程主机(你的计算机)上的文件或目录的路径,以及目标,即文件或目录在容器中(容器内部)的挂载路径。
- "source:target"
您根本不需要创建任何 docker 卷。
让我们创建一个隐藏目录 。数据在 docker-compose yml 文件的目录中
$ mkdir .data
你现在 docker-compose 文件:
version: '3.4'
services:
template:
image: template
volumes:
- data:/usr/template/:rw
- "./.data:/usr/template/"
build:
context: .
dockerfile: ./Dockerfile
就是这样。用户可以访问。数据并且docker也可以处理那里的所有内容。