Docker容器通过挂载卷在宿主机上记录日志

4
我正在尝试让容器登录到主机上的目录/var/log/app,但不幸的是,在容器中进行的更改没有被保留,例如:

1 - 启动一个容器

sudo docker run -v /var/log/app --entrypoint bash -t -i b18bf31c48d5

2 - 打印一些文件

echo "foo" > /varlog/app/foo.txt

3 - 退出容器

4 - 前往检查/var/log/app是否存在foo.txt

但是它并不在那里。

有什么想法为什么会发生这种情况吗?

1个回答

3
问题出在-v标志上,这个标志似乎可以让它起作用:
sudo docker run -v /var/log/app:/var/log/app:rw --entrypoint bash -t -i b18bf31c48d5

不能准确地说这是-v标志的问题;它只是映射了您的Docker卷。您不能仅向-v标志传递路径,如果您想在容器外查看这些日志文件,则还必须将该路径映射到主机上的位置。左侧的路径是容器内的目录,冒号右侧的路径是主机上的路径。 - Developer Dave
4
我认为冒号左侧的路径是主机上的路径,而冒号右侧的路径是容器内的路径。 - Stephane
2
@Stephane 你是对的,冒号左边的路径是主机目录上的路径。请参考文献 - Prashant Prabhakar Singh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接