小编gee*_*rap的帖子

从多进程docker容器中记录

我正在使用链接到/ dev/stdout的符号链接的nginx方法来查找我想要出现在"docker logs"中的任何日志文件,但是这不起作用.

我在/ etc/crontab中用一个简单的cronjob测试了这个,如果存在一个符号链接(指向/ dev/stdout)它没有写任何东西(据我所知),但如果我删除了符号链接它写入文件.

此外,如果我回显到/ dev/stdout,它会在命令行上回显但是在"docker logs"中找不到它...

问题:这应该有用吗?(它似乎适用于nginx).否则,我如何从"辅助"进程中获取日志以显示在docker日志中.

对于ref:

显示符号链接方法的Nginx Dockerfile:https://github.com/nginxinc/docker-nginx/blob/a8b6da8425c4a41a5dedb1fb52e429232a55ad41/Dockerfile

为此创建了一个官方错误报告:https://github.com/docker/docker/issues/19616

我的Dockerfile:

FROM ubuntu:trusty
#FROM quay.io/letsencrypt/letsencrypt:latest # For testing

ENV v="Fri Jan 22 10:08:39 EST 2016"

# Setup the cronjob
ADD crontab /etc/crontab
RUN chmod 600 /etc/crontab

# Setup letsencrypt logs
RUN ln -sf /dev/stdout /var/log/letsencrypt.log
# Setup cron logs
RUN ln -sf /dev/stdout /var/log/cron.log
RUN ln -sf /dev/stdout /var/log/syslog

# Setup keepalive script
ADD keepalive.sh /usr/bin/keepalive.sh
RUN chmod +x /usr/bin/keepalive.sh …
Run Code Online (Sandbox Code Playgroud)

logging process nginx docker

18
推荐指数
1
解决办法
3019
查看次数

多文件上传DRF

我有一个要求,我希望允许在同一发布请求中上传多个文件以创建对象。我目前有一种方法可以执行此操作,但是在查看其他一些示例后,这似乎并不是想要的方法。

models.py

class Analyzer(models.Model):
    name = models.CharField(max_length=100, editable=False, unique=True)

class Atomic(models.Model):
    name = models.CharField(max_length=20, unique=True)

class Submission(models.Model):
    class Meta:
        ordering = ['-updated_at']

    issued_at = models.DateTimeField(auto_now_add=True, editable=False)
    completed = models.BooleanField(default=False)
    analyzers = models.ManyToManyField(Analyzer, related_name='submissions')
    atomic = models.ForeignKey(Atomic, verbose_name='Atomic datatype', related_name='submission', on_delete=models.CASCADE)

class BinaryFile(models.Model):
    class Meta:
        verbose_name = 'Binary file'
        verbose_name_plural = 'Binary files'
    def __str__(self):
        return self.file.name

    submission = models.ForeignKey(Submission, on_delete=models.CASCADE, related_name='binary_files')
    file = models.FileField(upload_to='uploads/binary/')
Run Code Online (Sandbox Code Playgroud)

serializers.py

class BinaryFileSerializer(serializers.ModelSerializer):
    class Meta:
        model = models.BinaryFile
        fields = '__all__'

class SubmissionCreateSerializer(serializers.ModelSerializer):
    class Meta:
        model …
Run Code Online (Sandbox Code Playgroud)

python django validation upload django-rest-framework

9
推荐指数
1
解决办法
857
查看次数

nginx中的嵌套位置

嗨,我正在努力让以下工作!

我基本上试图通过这两个URL中的任何一个将以下URL传递给proxy_pass指令:

http://example.com/admin/1http://example.com/admin/2/

我有以下配置:

location /admin/ {

        # Access shellinabox via proxy
        location 1/ {
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass http://example.com;
        }

}
Run Code Online (Sandbox Code Playgroud)

目前,抛出一个错误:

2016/01/17 15:02:19 [emerg] 1#1: location "1/" is outside location "/admin/" in /etc/nginx/conf.d/XXX.conf:37
nginx: [emerg] location "1/" is outside location "/admin/" in /etc/nginx/conf.d/XXX.conf:37
Run Code Online (Sandbox Code Playgroud)

location reverse-proxy nginx proxypass

7
推荐指数
1
解决办法
1万
查看次数

导入scapy的最佳方法

我过去使用过: from scapy.all import * 但现在我在命名空间内遇到冲突(队列)。

导入 scapy 的最佳方法是什么?我研究过的方法:

import scapy
import scapy.all
from scapy import all
Run Code Online (Sandbox Code Playgroud)

python scapy python-import

5
推荐指数
1
解决办法
4660
查看次数