小编min*_*nel的帖子

为什么docker镜像会占用Docker未使用的磁盘空间

我已经设置了docker,我使用了完全不同的块设备来存储docker的系统数据:

[root@blink1 /]# cat /etc/sysconfig/docker
# /etc/sysconfig/docker

other_args="-H tcp://0.0.0.0:9367 -H unix:///var/run/docker.sock -g /disk1/docker"
Run Code Online (Sandbox Code Playgroud)

请注意,/disk/1使用完全不同的硬盘驱动器/dev/xvdi

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  5.1G  2.6G  67% /
devtmpfs        1.9G  108K  1.9G   1% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
/dev/xvdi        20G  5.3G   15G  27% /disk1
/dev/dm-1       9.8G  1.7G  7.6G  18% /disk1/docker/devicemapper/mnt/bb6c540bae25aaf01aedf56ff61ffed8c6ae41aa9bd06122d440c6053e3486bf
/dev/dm-2       9.8G  1.7G  7.7G  18% /disk1/docker/devicemapper/mnt/c85f756c59a5e1d260c3cdb473f3f4d9e55ac568967abe190eeaf9c4087afeac
Run Code Online (Sandbox Code Playgroud)

问题是当我继续下载docker镜像并运行docker容器时,似乎另一个硬盘驱动器/dev/xvda1也用完了.

我可以通过删除一些docker镜像来验证此问题.删除一些docker图像后,/dev/xvda1现在有一些额外的空间.

我错过了什么吗?

我的码头版:

[root@blink1 /]# docker info
Containers: 2
Images: 42
Storage Driver: devicemapper
 Pool …
Run Code Online (Sandbox Code Playgroud)

diskspace device-mapper docker

63
推荐指数
6
解决办法
5万
查看次数

Kubernetes和Flynn/Deis之间有什么区别?

我已经阅读了一些这些项目的介绍,但仍然无法清楚地了解Kubernetes和Flynn/Deis之间的区别.有人可以帮忙吗?

docker deis kubernetes flynn

16
推荐指数
1
解决办法
6965
查看次数

为什么处理排序数组的速度不比Python中的未排序数组快?

在这篇文章中,为什么处理排序数组的速度比随机数组快,它说分支预测是排序数组性能提升的原因.

但我只是尝试使用Python的例子; 我认为排序和随机数组之间没有区别(我尝试了bytearray和数组;并使用line_profile来分析计算).

我错过了什么吗?

这是我的代码:

from array import array
import random
array_size = 1024
loop_cnt = 1000
# I also tried 'array', and it's almost the same
a = bytearray(array_size)
for i in xrange(array_size):
    a.append(random.randint(0, 255))
#sorted                                                                         
a = sorted(a)
@profile
def computation():
    sum = 0
    for i in xrange(loop_cnt):
        for j in xrange(size):
            if a[j] >= 128:
                sum += a[j]

computation()
print 'done'
Run Code Online (Sandbox Code Playgroud)

python performance

14
推荐指数
3
解决办法
1821
查看次数

Nginx $ request_uri有重复的查询参数

我发现nginx的$ request_uri复制了查询参数.

我希望实现的目标是将裸域的任何请求重定向到www域.这是一个示例配置.

    server {
        listen       8080;
        server_name  localhost;    
        location / {
            if ($http_host !~* "^www\.") {
                rewrite (.*) http://www.$http_host$request_uri permanent;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我得到的结果是:

curl -I http://127.0.0.1:8080/pp/\?a\=b

HTTP/1.1 301 Moved Permanently
Server: nginx/1.6.2
Date: Thu, 22 Jan 2015 04:07:39 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: http://www.127.0.0.1:8080/pp/?a=b?a=b
Run Code Online (Sandbox Code Playgroud)

查询参数在结果中重复; 我在这里错过了什么吗?

nginx

7
推荐指数
2
解决办法
5207
查看次数

多线程Python的C扩展能否提升性能?

我听说过Python的GIL问题,它说在多核机器上一次只能有一个Python线程执行Python字节码.所以多线程Python程序不是一个好主意.

我想知道我是否可以编写一个C扩展来创建一个可能启动程序性能的pthread.我的意思是我在我的C扩展中创建一个线程,并希望它与Python主线程并行运行.

我的假设是Python主线程将使用IO做更多事情; 并且我的C扩展中的pthread将花费大部分时间进行计算.Python主线程使用队列(如生产者消费者模型)与C扩展中的线程进行通信.

多线程与Python和C扩展之间有什么区别吗?

python

6
推荐指数
1
解决办法
873
查看次数

运行时动态绑定和类继承之间的区别

我试图澄清动态语言(Python,ruby)和静态类型语言(java,C++)中运行时动态绑定和类继承的概念.我不确定我是对的.

在Python和Ruby等动态语言中,运行时动态绑定实现为duck typing.当解释器检查对象的类型时,它会检查对象是否具有特定的方法(或行为),而不是检查对象的类型; 和运行时动态绑定并不意味着类继承.类继承只是减少Python和Ruby中的代码副本.

在Java和C++等静态类型语言中,运行时动态绑定只能获得类继承.类继承不仅减少了代码副本,还用于实现运行时动态绑定.

总之,类继承和运行时动态绑定是两个不同的概念.在Python和Ruby中,它们完全不同; 在Java和C++中,它们混合在一起.

我对吗?

c++ ruby python java compiler-construction

6
推荐指数
1
解决办法
1396
查看次数

Python函数中的默认参数在哪里

我想很多人都看过python的函数接收默认参数.例如:

def foo(a=[]):
    a.append(3)
    return a
Run Code Online (Sandbox Code Playgroud)

如果我们使用foo()调用此函数,则每次调用后输出都会附加整数"3".

定义此函数时,在当前环境中定义名为"foo"的函数对象,此时还会计算默认参数值.每次在没有参数的情况下调用函数时,将根据代码更改评估的参数值.

我的问题是,这个评估参数在哪里存在? 它是在函数对象中还是在调用函数时在方法对象中? 因为python中的所有东西都是一个对象,所以必须有一些地方来保存'a' - > evaluate参数的name-> value绑定.我是否过度思考这个问题?

python

5
推荐指数
2
解决办法
789
查看次数

什么是分布式锁,为什么要使用它?

为什么人们需要分布式锁?

当共享资源被它的本地机器保护时,这是否意味着我们不需要分布式锁?

我的意思是当共享资源通过使用某种 api 或服务暴露给其他人时,并且这个 api 或服务使用它的本地锁进行保护;那么我们就不需要这种分布式锁了;我对吗?

python database memcached web-services web-applications

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

进程终止后内存泄漏和其他资源

假设一个程序有内存泄漏.

1)当进程死亡(正常或分段错误)时,那些泄漏的内存是否被释放?

2)一个过程持有的其他资源怎么样?

c linux

5
推荐指数
2
解决办法
1001
查看次数

使用Python yield的表达式和语句之间有什么区别

可能重复:
表达式与声明

Python中表达式语句之间有什么区别?

直到我学习Python生成器说" 使用yield作为表达式 " 之前,我才想到这个问题

另外,你能在Python生成器的上下文中解释这个问题吗?'将yield用作表达式'?

python

4
推荐指数
1
解决办法
520
查看次数

如何使用Unix Socket在ruby和Python之间进行通信

我试图在我的ruby进程和Python进程之间进行一些通信; 我想使用UNIX套接字.

目标:ruby进程"fork和exec"的Python进程.在ruby进程中,创建一个UNIX套接字对,并将其传递给Python.

Ruby代码(p.rb):

require 'socket'

r_socket, p_socket = Socket.pair(:UNIX, :DGRAM, 0)

# I was hoping this file descriptor would be available in the child process
pid = Process.spawn('python', 'p.py', p_socket.fileno.to_s)

Process.waitpid(pid)
Run Code Online (Sandbox Code Playgroud)

Python代码(p.py):

import sys
import os
import socket

# get the file descriptor from command line
p_fd = int(sys.argv[1])

socket.fromfd(p_fd, socket.AF_UNIX, socket.SOCK_DGRAM)

# f_socket = os.fdopen(p_fd)
# os.write(p_fd, 'h')
Run Code Online (Sandbox Code Playgroud)

命令行:

ruby p.rb
Run Code Online (Sandbox Code Playgroud)

结果:

OSError: [Errno 9] Bad file descriptor
Run Code Online (Sandbox Code Playgroud)

我希望ruby进程将文件描述符传递给python进程,以便这两个可以使用这些套接字发送数据.

所以,我的问题:

1)是否可以像上面那样在ruby和python进程之间传递打开的文件描述符?

2)如果我们可以在两个进程之间传递文件描述符,那么我的代码中有什么问题.

ruby python unix sockets

2
推荐指数
1
解决办法
1982
查看次数