我在Golang构建了一个项目,并部署在AWS中的一个Docker实例上。
在内部,我创建一个日志文件,程序在其中编写多个日志。
我如何访问该日志文件?
还有另外一种正确的登录方式吗?
谢谢
发布于 2017-03-14 02:22:25
谢谢你的回复。
过了一会儿,我找到了这个问题的解决办法!
首先,我需要在docker-host中挂载实例中的文件。
为此,我在我的项目名为Dockerrun.aws.json ( dockerrun )的根文件夹中添加了一个Json文件
该文件声明了我保存日志文件的共享文件夹(卷) (beetwen docker-host和实例)。这一行相当于在docker命令(https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-directory-as-data-volume)中添加-v标志。我这样做是因为我不能将挂载添加到正在运行的实例,而且我不能通过ssh来阻止它。
{
"AWSEBDockerrunVersion": "1",
"Volumes": [
{
"HostDirectory": "/var/log/",
"ContainerDirectory": "/go/src/app/log"
}
]
}然后告诉aws,当我请求记录时,我想下载日志文件。(尾(最后100行)、包或旋转)我将这些文件添加到项目目录中的.ebextension文件夹中。( us/elasticbeanstalk/latest/dg/using-features.logging.html#health-logs-extend )
Log_bundle.conf
Files:
"/opt/elasticbeanstalk/tasks/bundlelogs.d/log_bundle.conf":
Mode: "000755"
Owner: root
Group: root
Content: |
/var/log/application.logLog_rotate.config
Files:
"/opt/elasticbeanstalk/tasks/bundlelogs.d/log_rotate.conf":
Mode: "000755"
Owner: root
Group: root
Content: |
/var/log/application.logLog_tail.config
Files:
"/opt/elasticbeanstalk/tasks/publishlogs.d/log_tail.conf":
Mode: "000755"
Owner: root
Group: root
Content: |
/var/log/application.log最后,我不尝试亚马逊可以观看,但这是下一步。
问候
https://stackoverflow.com/questions/42725090
复制相似问题