这是构建Docker镜像时收到的错误消息:
步骤18:运行mkdir/var/www/app && chown luqo33:www-data/var/www/app --->在7b5854406120中运行mkdir:无法创建目录'/ var/www/app':没有这样的文件或目录
这是Dockerfile的一个片段导致错误:
FROM ubuntu:14.04
RUN groupadd -r luqo33 && useradd -r -g luqo33 luqo33
<installing nginx, fpm, php and a couple of other things>
RUN mkdir /var/www/app && chown luqo33:www-data /var/www/app
VOLUME /var/www/app
WORKDIR /var/www/app
Run Code Online (Sandbox Code Playgroud)
"mkdir:无法创建目录'/ var/www/app':没有这样的文件或目录"声音如此荒谬 - 当然没有这样的目录.我想创造它.这有什么不对?
这是我正在使用的剧本片段(server.yml
):
- name: Determine Remote User
hosts: web
gather_facts: false
roles:
- { role: remote-user, tags: [remote-user, always] }
Run Code Online (Sandbox Code Playgroud)
我的主机文件有不同的服务器组,例如
[web]
x.x.x.x
[droplets]
x.x.x.x
Run Code Online (Sandbox Code Playgroud)
现在我想执行ansible-playbook -i hosts/<env> server.yml
,并覆盖hosts: web
从server.yml
运行这个剧本的[droplets]
.
我可以直接覆盖一次性的东西,而不server.yml
直接编辑吗?
谢谢.
我试图在我的项目中开始使用Bourbon和Neat Sass库.我想用Gulp编译Sass.这是一个简单的styles
任务设置,我在其中一个教程中找到了:
var gulp = require('gulp'),
sass = require('gulp-sass'),
neat = require('node-neat').includePaths;
var paths = {
scss: './assets/styles/*.scss'
};
gulp.task('styles', function () {
return gulp.src(paths.scss)
.pipe(sass({
includePaths: ['styles'].concat(neat)
}))
.pipe(gulp.dest('./dist/styles'));
});
gulp.task('default', function () {
gulp.start('styles');
});
Run Code Online (Sandbox Code Playgroud)
然后在主.scss
文件中我放置导入:
@import "bourbon";
@import "base/base";
@import "neat";
Run Code Online (Sandbox Code Playgroud)
此任务正确执行.
让我困惑的是究竟是什么includePaths
?基于上面的例子,有人可以向我解释一下includePath
角色是什么吗?
我尝试设置Docker,以便sudo
在使用之前不必输入.
我采取的步骤:
sudo groupadd docker
;sudo gpasswd -a ${USER} docker
;sudo service docker restart
;运行后docker run hello-world
,我收到此输出:
FATA [0000]发布http:///var/run/docker.sock/v1.17/containers/create:拨打unix /var/run/docker.sock:权限被拒绝.您是否尝试在没有TLS的情况下连接到启用TLS的守护程序?
有一件事令人困惑(并且可能会暗示为什么我不能在没有sudo的情况下运行docker)是输出:
$ groups
:是:
ltarasiewicz adm cdrom sudo dip plugdev lpadmin sambashare
(没有"码头工人"组)
输出$ groups ltarasiewicz
:
ltarasiewicz adm cdrom sudo dip plugdev lpadmin sambashare docker
("docker"是其中一个组)
sudo
在将当前用户添加到"docker"组后,我仍然无法使用Docker这一事实可能是什么原因?
我有这个问题,确定在我的vim中获取这个烦人的红色背景的原因:
你碰巧知道为什么vim突出显示我打开的文档中的随机单词以及如何关闭它?
通常,您可以使用ssh进入Vagrant管理的VM vagrant ssh
.有两种选择:
insecure_private_key
Vagrant生成的身份验证. config.ssh.forward_agent
的设置为true
,并正确配置VM我使用第二个选项.当我跑步时vagrant ssh
,我用我的自定义私钥进入机器.
现在我需要让Ansible SSH进入我的Vagrant机器,我不想用Vagrantfile
它.
所以我执行了:
ansible-playbook -i hosts/development --private-key=~/.ssh/id_rsa -u vagrant dev.yml
我有这个错误返回:
致命:[192.168.50.5] => SSH错误:权限被拒绝(publickey).同时连接到192.168.50.5:22
该hosts/inventory
文件仅包含我的Vagrant VM的IP(192.168.50.5).
我不知道为什么Ansible不能进入虚拟机.它使用与执行时完全相同的user(vagrant
)和key(id_rsa
)vagrant ssh
.
但是,vagrant ssh
上面的内容不会运行时没有问题.
任何建议将不胜感激.
我想使用Guzzle 6从远程API检索xml响应.这是我的代码:
$client = new Client([
'base_uri' => '<my-data-endpoint>',
]);
$response = $client->get('<URI>', [
'query' => [
'token' => '<my-token>',
],
'headers' => [
'Accept' => 'application/xml'
]
]);
$body = $response->getBody();
Run Code Online (Sandbox Code Playgroud)
Vardumping $body
会返回一个GuzzleHttp\Psr7\Stream
对象:
object(GuzzleHttp\Psr7\Stream)[453]
private 'stream' => resource(6, stream)
...
...
Run Code Online (Sandbox Code Playgroud)
然后,我可以调用$body->read(1024)
从响应中读取1024个字节(将以xml读取).
但是,我想从我的请求中检索整个XML响应,因为我需要稍后使用SimpleXML
扩展来解析它.
如何从GuzzleHttp\Psr7\Stream
对象中最佳地检索XML响应,以便它可用于解析?
将在while
环要走的路?
while($body->read(1024)) {
...
}
Run Code Online (Sandbox Code Playgroud)
我很感激你的意见.
可以在Alice中描述夹具继承:
// template.yml
Nelmio\Entity\User:
user (template):
username: '<username()>'
age: '<numberBetween(1, 20)>'
Run Code Online (Sandbox Code Playgroud)
-
include:
- template.yml
Nelmio\Entity\User:
user1 (extends user):
name: '<firstName()>'
lastname: '<lastName()>'
city: '<city()>'
age: '<numberBetween(1, 50)>'
Run Code Online (Sandbox Code Playgroud)
如何定义可重用的属性集合(类似于Traits)?
如果我希望能够定义具有两个属性的模板,例如,该怎么办?
createdAt: <(new \DateTime('2016-01-01'))>
updatedAt: <(new \DateTime('2016-01-02'))>
Run Code Online (Sandbox Code Playgroud)
然后在任何模板中使用它们而不必为每个实体重新定义这些属性?
我知道Alice支持多继承.例如:
Nelmio\Entity\User:
user_bare (template):
username: '<username()>'
user_full (template, extends user_bare):
name: '<firstName()>'
lastname: '<lastName()>'
city: '<city()>'
Run Code Online (Sandbox Code Playgroud)
然而,由于每个模板必须在相同的名称空间(Nelmio\Entity\User
)下定义,因此这似乎不是前进的方式,而Traits应该可以在任何名称空间中使用.
是否有一种干净的方法可以在任何命名空间中重用夹具属性组?
已经厌倦了这个人为的例子:
package main
import "fmt"
func printElo() {
fmt.Printf("Elo\n")
}
func printHello() {
fmt.Printf("Hello\n")
}
func main() {
fmt.Printf("This will print.")
i := 0
for i < 10 {
go printElo()
go printHello()
i++
}
}
Run Code Online (Sandbox Code Playgroud)
这个程序的输出只是"这将打印".输出goroutine printElo()
并且printHello
不会被发出因为,我猜,main()
函数线程将在goroutines甚至有机会开始执行之前完成.
在Golang中使类似代码工作而不是过早终止的惯用方法是什么?
我不确定这是否是所希望的行为,但每次打开IDE时,PhpStorm(8.0.3)都会继续索引所有文件和目录.索引需要太长时间 - 半小时甚至更长.在此期间,我无法访问许多配置选项或使用"转到定义"选项.
这很刺激.PhpStorm不应该以某种方式缓存索引,以便它不会一遍又一遍地完成整个过程吗?
似乎问题随着时间的推移而增长,而且此时它完全平衡了我在项目上工作的能力.
你知道吗?有解决方案吗?