小编luq*_*o33的帖子

无法在Dockerfile中执行RUN mkdir

这是构建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':没有这样的文件或目录"声音如此荒谬 - 当然没有这样的目录.我想创造它.这有什么不对?

docker

100
推荐指数
3
解决办法
17万
查看次数

从命令行覆盖Ansible playbook的hosts变量

这是我正在使用的剧本片段(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: webserver.yml运行这个剧本的[droplets].

我可以直接覆盖一次性的东西,而不server.yml直接编辑吗?

谢谢.

ansible ansible-playbook

87
推荐指数
8
解决办法
9万
查看次数

Gulp的includePaths有什么作用?

我试图在我的项目中开始使用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角色是什么吗?

sass neat bourbon gulp

23
推荐指数
2
解决办法
2万
查看次数

在Ubuntu 14.04上运行没有sudo的docker

我尝试设置Docker,以便sudo在使用之前不必输入.

我采取的步骤:

  1. 我开始创建一个docker组sudo groupadd docker;
  2. 我将当前用户添加到"docker"组中sudo gpasswd -a ${USER} docker;
  3. 我重启了码头工人sudo service docker restart;
  4. 我关闭并打开终端开始新的会话.

运行后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这一事实可能是什么原因?

linux ubuntu docker

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

令人讨厌,红色突出显示vim中的随机单词

我有这个问题,确定在我的vim中获取这个烦人的红色背景的原因:

在此输入图像描述

你碰巧知道为什么vim突出显示我打开的文档中的随机单词以及如何关闭它?

vim

17
推荐指数
3
解决办法
8153
查看次数

使用Ansible将SSH连接到Vagrant机器

通常,您可以使用ssh进入Vagrant管理的VM vagrant ssh.有两种选择:

  1. 您可以使用insecure_private_keyVagrant生成的身份验证.
  2. 使用您自己的私钥 - 提供 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上面的内容不会运行时没有问题.

任何建议将不胜感激.

ssh vagrant ansible

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

使用Guzzle 6 HTTP Client检索整个XML响应主体

我想使用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)

我很感激你的意见.

php xml http guzzle

11
推荐指数
2
解决办法
2万
查看次数

Alice夹具生成器中可重用的属性或特征组

可以在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应该可以在任何名称空间中使用.

是否有一种干净的方法可以在任何命名空间中重用夹具属性组?

fixtures symfony nelmio-alice alice-fixtures

10
推荐指数
0
解决办法
323
查看次数

防止main()函数在goroutines在Golang中完成之前终止

已经厌倦了这个人为的例子:

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中使类似代码工作而不是过早终止的惯用方法是什么?

concurrency program-entry-point go goroutine

10
推荐指数
1
解决办法
4032
查看次数

PhpStorm在每次启动时开始索引文件

我不确定这是否是所希望的行为,但每次打开IDE时,PhpStorm(8.0.3)都会继续索引所有文件和目录.索引需要太长时间 - 半小时甚至更长.在此期间,我无法访问许多配置选项或使用"转到定义"选项.

这很刺激.PhpStorm不应该以某种方式缓存索引,以便它不会一遍又一遍地完成整个过程吗?

似乎问题随着时间的推移而增长,而且此时它完全平衡了我在项目上工作的能力.

你知道吗?有解决方案吗?

phpstorm

8
推荐指数
1
解决办法
1587
查看次数