我在Windows中运行boot2docker VM,需要修改VM中的init脚本.目前我唯一的选择是VI,这很痛苦.我只想使用nano,但它不可用.
它正在运行:
docker@boot2docker:/c$ uname -a
Linux boot2docker 3.18.5-tinycore64 #1 SMP Sun Feb 1 06:02:30 UTC 2015 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
没有apt-get或任何包管理器.我怎样才能添加nano以便我可以轻松编辑文件?
编辑:
@ John-Petrone的答案有效,但安装完成后,运行nano会出错:
Error opening terminal: cygwin.
Run Code Online (Sandbox Code Playgroud)
如果其他人有这个问题,问题是$ TERM被设置为cygwin.不知道为什么.我只是:
TERM=xterm-color
Run Code Online (Sandbox Code Playgroud)
纳米工作!(如果设置为/ usr/share/terminfo/x中的任何其他可用术语,则显示出时髦字符)
我在Win7上运行boot2docker 1.3.
我想连接一个共享文件夹.
在图像属性 - >共享文件夹下的VirtualBox Manager中,我添加了我想要的文件夹,并将其命名为"c/shared".检查"自动安装"和"永久"框.
当boot2docker启动时,它不会挂载.我还要做一个额外的事情:
sudo mount -t vboxsf c/shared /c/shared
Run Code Online (Sandbox Code Playgroud)
它出现了.因为我每次都需要使用docker,所以我希望它只是在启动时运行,或者只是已经在那里.所以我想如果有一些我可以添加的启动脚本,但我似乎无法找到它的位置.
谢谢
编辑:我大吼大叫这是在Mac上重复Boot2Docker - 访问本地文件这是一个不同的问题.我想安装一个不是默认文件夹的文件夹,例如OSX上的/ User或Windows上的/ c/Users.我特意要求启动脚本.
我在boot2docker.我不完全确定我完全理解它,但似乎需要我正在进行的项目.
我已经ssh'd,我试图在我们的项目上做一个make,但我得到了
make: not found
Run Code Online (Sandbox Code Playgroud)
然后我试了一下:
apt-get install make
Run Code Online (Sandbox Code Playgroud)
得到了
apt-get: not found
Run Code Online (Sandbox Code Playgroud)
尝试谷歌搜索,但无法找到任何关于这一点,或任何包经理.
有关如何在boot2docker中安装任何内容的任何建议?
编辑:当我问这个时,我误解了boot2docker和docker是如何协同工作的.实际上有一个允许安装软件包的软件包管理器(tce-load),但实际上,它不应该被使用,任何涉及使用docker的项目的东西都应该在boot2docker中使用一个docker容器,里面有构建工具.虽然我确实发现了tce-load有用的安装nano,因为我不是vi的粉丝,而且这个很有用.
我正在使用jQuery在几个元素上设置定时器或间隔循环,以便每隔几秒检查一次.我已经尝试设置一个计时器并检查我是否应该重新启动它,或者设置和间隔并检查是否应该停止它.
虽然简化了,但基本上我需要的是:
var mytimers = new Array();
$('div.items').each(function() {
myID = $(this).attr('id');
mytimers[myID] = setInterval( function() { myFunction(myID) } , 3000)
});
function myFunction(param) {
alert(param);
if (something()) {
clearInterval(mytimers[param]);
}
}
Run Code Online (Sandbox Code Playgroud)
类项目的ID是id_1,id_2,id_3.但我只得到3个提醒id_3.在我的代码中,我开始尝试传递'this',但一直在简化它以找出问题.
我怎样才能让它每次都将变量复制到一个新地址?我知道我需要使用闭包.它似乎是在引用其他var var mater是什么.
我尝试将它简化为一个带有定时器的循环:
function tester(item) {
return function() {
alert(item);
};
}
for(x=1;x<=3;x++) {
setTimeout( '(function() { tester(x) })(x)' , 3000);
}
Run Code Online (Sandbox Code Playgroud)
但我认为我只是让我的问题变得更糟,而且似乎没有做任何事情.
我已经搜索过以前的问题,但大多数都填充了大量的额外代码,而不是削减特定的问题,并以其他方式解决.通过让这个例子有效,我想了解这是如何工作的.在写这篇文章的过程中,我确实设法了解我可以通过帮助功能来启动计时器.
function tester(item)
alert(item);
function myTimer(item)
setInterval( function() { tester(item); }, 3000);
for(x=1;x<=3;x++)
myTimer(item);
Run Code Online (Sandbox Code Playgroud)
没有这个怎么办呢?有更好的方法吗?
我对基本的正则表达式很好,但是我在pos/neg的前方/后方有点迷失.
我正试图从中提取id#:
[keyword stuff=otherstuff id=123 morestuff=stuff]
之前或之后可能会有无限量的"东西".我一直在使用The Regex Coach来帮助调试我尝试过的东西,但我不再向前推进......
到目前为止我有这个:
\[keyword (?:id=([0-9]+))?[^\]]*\]
Run Code Online (Sandbox Code Playgroud)
这会在id之后处理任何额外的属性,但我无法弄清楚如何忽略关键字和id之间的所有内容.我知道我不能去,[^id]*
我相信我需要使用像这样的负面预测,(?!id)*但我想因为它是零宽度,它不会从那里向前移动.这也不起作用:
\[keyword[A-z0-9 =]*(?!id)(?:id=([0-9]+))?[^\]]*\]
Run Code Online (Sandbox Code Playgroud)
我一直在寻找各种例子,但没有找到任何例子.或者也许我有,但他们走到了我的脑海,我甚至没有意识到他们是什么.
救命!谢谢.
编辑:它必须匹配[keyword stuff = otherstuff],其中id =根本不存在,所以我必须在id#group上有1或0.还有其他[otherkeywords id = 32]我不想匹配.该文档需要使用preg_match_all在整个文档中匹配多个[keyword id = 3].
每当我收到此错误时,我只是增加了内存来修复它.我有一个案例,为了测试目的,我想让一个页面耗尽所有内存但是我设置了memory_limit.
我不知道该怎么做.
编辑:我试过这个:
<?php
echo "start";
@ini_set('memory_limit', '1M');
$test = "a";
while (1) {
$test = "a" + $test;
}
echo "done";
?>
Run Code Online (Sandbox Code Playgroud)
但它没有崩溃.最后它只是打印了"startstart",奇怪的是它被打印了两次......
我想要一个简单的代码示例,"把很多东西放在内存中"......我知道的很多.
我有一个承诺可能会失败的情况,但我希望能够处理它,并继续下一个.我试图从失败的catch中返回一个成功的promise,但是它给出了一个没有方法设置的返回对象的错误.这可能吗?我该怎么办呢?
Parse.Promise.as(1).then(function() {
if (user.get('vendor')) {
//fetch returns a promise
return user.get('vendor').fetch();
}
return new Vendor();
}).fail(function() {
//this will be called if the fetch fails, in that case, just return new Vendor();
return Parse.Promise.as(function() {
//this will be a valid promise so should hopefully return to the next then, but it doesn't work
return new Vendor();
});
}).then(function(result) {
vendor = result;
//continue with stuff
}).fail(function(error) {
res.json(400, {
"result": false,
"error": error
});
});
Run Code Online (Sandbox Code Playgroud)
编辑:
我尝试将其更改为:
Parse.Promise.as(1).then(function() { …Run Code Online (Sandbox Code Playgroud) 我一直都在用boot2docker ssh,我会跑
docker exec -it container bash
Run Code Online (Sandbox Code Playgroud)
它会正常工作。
现在我正在使用新的 Windows 客户端,虽然docker exec -it container bash会让我进入 bash 提示,如果我输入,从那里开始,左/右/上/下/home/end/page up/page down 将不起作用。不确定它的配置中缺少哪些窗口以无法正确使用这些键。
有什么建议?
我知道这是可能的,但我似乎无法弄明白.
我有一个mySQL查询,有几十万个结果.我希望能够发送结果,但似乎响应需要内容长度标头才能开始下载.
在phpMyAdmin中,如果你去导出一个数据库,它立即开始下载,FF只是说未知的文件大小,但它的工作原理.我查看了那段代码,但无法理解.
救命?
谢谢.
我正在使用 Django FormView。我一直在寻找,但如果提供 PK,我找不到如何加载对象的示例。
目前我只是将 form_class 设置为 ModelView 表单。如果没有给出 pk,我想使用此视图加载一个空对象,或者如果通过 url 提供了 pk,则使用特定对象加载表单。
我不知道是否需要在 get_form_kwargs 或 get_form 或其他地方加载它。我真的很喜欢关于如何做到这一点的教程。我不想使用 CreateView 或 UpdateView,只想使用 FormView。
任何人都可以指出我正确的方向吗?
boot2docker ×4
docker ×4
php ×3
windows ×3
apt-get ×1
bash ×1
closures ×1
django ×1
django-1.4 ×1
django-forms ×1
formview ×1
header ×1
javascript ×1
keyboard ×1
loops ×1
memory ×1
mysql ×1
nano ×1
node.js ×1
overflow ×1
promise ×1
regex ×1
setinterval ×1
timer ×1