我已经设置了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) 我已经阅读了一些这些项目的介绍,但仍然无法清楚地了解Kubernetes和Flynn/Deis之间的区别.有人可以帮忙吗?
在这篇文章中,为什么处理排序数组的速度比随机数组快,它说分支预测是排序数组性能提升的原因.
但我只是尝试使用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) 我发现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)
查询参数在结果中重复; 我在这里错过了什么吗?
我听说过Python的GIL问题,它说在多核机器上一次只能有一个Python线程执行Python字节码.所以多线程Python程序不是一个好主意.
我想知道我是否可以编写一个C扩展来创建一个可能启动程序性能的pthread.我的意思是我在我的C扩展中创建一个线程,并希望它与Python主线程并行运行.
我的假设是Python主线程将使用IO做更多事情; 并且我的C扩展中的pthread将花费大部分时间进行计算.Python主线程使用队列(如生产者消费者模型)与C扩展中的线程进行通信.
多线程与Python和C扩展之间有什么区别吗?
我试图澄清动态语言(Python,ruby)和静态类型语言(java,C++)中运行时动态绑定和类继承的概念.我不确定我是对的.
在Python和Ruby等动态语言中,运行时动态绑定实现为duck typing.当解释器检查对象的类型时,它会检查对象是否具有特定的方法(或行为),而不是检查对象的类型; 和运行时动态绑定并不意味着类继承.类继承只是减少Python和Ruby中的代码副本.
在Java和C++等静态类型语言中,运行时动态绑定只能获得类继承.类继承不仅减少了代码副本,还用于实现运行时动态绑定.
总之,类继承和运行时动态绑定是两个不同的概念.在Python和Ruby中,它们完全不同; 在Java和C++中,它们混合在一起.
我对吗?
我想很多人都看过python的函数接收默认参数.例如:
def foo(a=[]):
a.append(3)
return a
Run Code Online (Sandbox Code Playgroud)
如果我们使用foo()调用此函数,则每次调用后输出都会附加整数"3".
定义此函数时,在当前环境中定义名为"foo"的函数对象,此时还会计算默认参数值.每次在没有参数的情况下调用函数时,将根据代码更改评估的参数值.
我的问题是,这个评估参数在哪里存在? 它是在函数对象中还是在调用函数时在方法对象中? 因为python中的所有东西都是一个对象,所以必须有一些地方来保存'a' - > evaluate参数的name-> value绑定.我是否过度思考这个问题?
为什么人们需要分布式锁?
当共享资源被它的本地机器保护时,这是否意味着我们不需要分布式锁?
我的意思是当共享资源通过使用某种 api 或服务暴露给其他人时,并且这个 api 或服务使用它的本地锁进行保护;那么我们就不需要这种分布式锁了;我对吗?
假设一个程序有内存泄漏.
1)当进程死亡(正常或分段错误)时,那些泄漏的内存是否被释放?
2)一个过程持有的其他资源怎么样?
可能重复:
表达式与声明
Python中表达式和语句之间有什么区别?
直到我学习Python生成器说" 使用yield作为表达式 " 之前,我才想到这个问题
另外,你能在Python生成器的上下文中解释这个问题吗?'将yield用作表达式'?
我试图在我的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)如果我们可以在两个进程之间传递文件描述符,那么我的代码中有什么问题.