我有一个Docker Image,它有一个VOLUME [“/ log”]。
在运行容器时,我正在安装主机上的文件夹。
我希望Docker在VOLUME [“/ log”]写的所有日志都可供主机使用。
docker run --name=test -v ${pwd}/hostlogfolder:/log dockerimage:1
主机日志文件夹
未写入日志但是日志在docker / dock
中的docker中可用docker exec -it test bash
cd /log
安装文件夹的正确方法是什么?
答案 0 :(得分:2)
你几乎就在那里,命令需要一个小小的修正:
docker run --name=test -v $(pwd)/hostlogfolder:/log dockerimage:1
请注意括号不同:
错误:${pwd}
右:$(pwd)
运行后,您可以使用以下方法验证已装入的卷:
docker inspect <container id>
- 您可以使用docker ps
检查命令输出的Mounts部分。
"Mounts": [
{
"Source": "<host path>",
"Destination": "<container path>",
"Mode": "",
"RW": true
}]
答案 1 :(得分:1)
如果要创建具有预定义设置(如添加卷)的图像,则必须使用Dockerfile。或者,如果您不需要创建图像,但在创建容器时只需要一个临时容器来传递它。
我认为您需要阅读有关创建卷和其他指令的文档。它可能对你非常有用。
boolean isInstanceArrayList = tempVar.getClass() == ArrayList.class
https://docs.docker.com/engine/userguide/containers/dockervolumes/