- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个类似于 this one 的问题。运行我的 docker-compose.yml 文件时,我会自动创建一个 docker 镜像,并按照我的 dockerfile 中的指定运行某些应用程序。这些应用程序会生成一些日志,但这些日志写入 Docker 容器内的 /home/logs/
文件夹中。
如何指示这些日志写入到容器外部的我的 /path/on/host
地址上?仅仅是因为如果容器失败,我需要查看日志而不丢失它们!
这是我的docker-compose.yml
:
version: '3'
services:
myapp:
build: .
image: myapp
ports:
- "9001:9001"
这是我的dockerfile
:
FROM java:latest
COPY myapp-1.0.jar /home
CMD java -jar /home/myapp-1.0.jar
我只需使用docker-compose up -d
在生产机器上运行它。
(顺便说一句,我是 docker 的新手。我的所有步骤都正确吗?我错过了什么吗?!我看到一切都很好,但我的应用程序正在运行!)
最佳答案
您只需要一个 docker 卷即可保存日志文件。因此,在 docker-compose.yml 所在的目录中创建一个日志目录,然后定义一个卷挂载。定义挂载时请记住语法是 <host_machine_directy>:<container_directory>
。
尝试一下下面的卷,让我知道你得到了什么。
version: '3'
services:
myapp:
build: .
image: myapp
ports:
- "9001:9001"
volumes:
- ./logs:/home/logs
还值得注意的是,这种方法的持久性是双向的。容器内对文件所做的任何更改都会反射(reflect)回主机。主机的任何更改也会反射(reflect)在容器内部。
关于Docker容器将日志保存在宿主机目录下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54374724/
我正在开发框架,我已将此框架项目添加到宿主项目中。现在我想将 cocoapods pod(框架)添加到父(主机)项目中。并将同一个 pod 共享到子(框架)项目中。或者有什么我可以添加到 Podfil
我正在尝试使用 vagrant , Clojure和 emacs一起。具体来说,我无法连接cider到我的 vagrant机器。 它在本地工作,当我运行时 cider-jack-in在我的项目里面。
我是一名优秀的程序员,十分优秀!