小编kai*_*ser的帖子

Docker Compose 第 2 版“卷”语法应该是什么样子的?

使用Docker Compose v1.6.0+,现在有一个新的/版本 2 文件语法docker-compose.yml。这些更改包括一个名为 的单独顶级密钥volumes。这允许在一个地方“集中”卷定义。

我想要做的是在那里命名卷,并在我的本地主机磁盘上有一个单一的卷引用多个路径。下面是一个例子,抛出一个以 aTraceback结尾的异常

AttributeError: 'list' object has no attribute 'items'
Run Code Online (Sandbox Code Playgroud)

示例docker-compose.yml

version: '2'

services:
  db:
    image: postgres
    volumes:
      - database:/var/lib/postgres/data

  php:
    image: php-fpm:5.6
    volumes:
      - phpconf:/etc/php/conf.d

  namedvolume:
    container_name: namedvolume
    build: ./Docker/Testvolume
    volumes: 
      - ./Docker/Testvolume/shareme

volumes:
  database:
    - ./Docker/Postgres/db:ro
    - ./Docker/Postgres/ini
  phpconf:
    - ./Docker/PHP-FPM/conf
  singledir: ./Docker/foo
  completemap: ./Docker/bar:/etc/service/conf.d
  - namedvolume:/etc/service/conf.d # < this was a separate attempt w/o the other keys
  … ?
Run Code Online (Sandbox Code Playgroud)

到目前为止,我通读了所有Docker …

docker docker-compose

46
推荐指数
4
解决办法
9万
查看次数

Puppet 连接模板

在我目前正在处理的模块中,我得到了大量需要设置的配置选项,具有默认值......并且应该被分割成更短的模板文件,否则它将成为滚动的噩梦。

推荐的方法是使用一些第三方模块。没有内置的方法吗?

puppet templates

4
推荐指数
2
解决办法
4489
查看次数

未执行变量的 Puppet exec 命令

我有一个非常简单的 Puppet(子)模块,它应该使用 Git 从远程位置克隆存储库:

class wppuppet::git(
  $location = '/var/www/wp'
) {

  file { $location:
    ensure => 'directory',
    mode   => '0755',
  }

  exec { 'git-wp':
    command => 'git clone https://github.com/WordPress/WordPress ${location}',
    require => Package['git'],
  }

  Package['git']
  -> File[ $location ]
  -> Exec['git-wp']
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它经常失败并出现以下错误:

Error: git clone https://github.com/WordPress/WordPress ${location} returned 128 instead of one of [0]
Error: /Stage[main]/Wppuppet::Git/Exec[git-wp]/returns: change from notrun to 0 failed: 
git clone https://github.com/WordPress/WordPress ${location} returned 128 instead one of [0]
Run Code Online (Sandbox Code Playgroud)

我用${location}和尝试过$location,但结果保持不变。

git puppet vagrant

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

在 Vagrant 盒子上安装后,在 PATH 中找不到 Ansible

问题

为了测试,我设置了一个非常简单的Vagrant文件。这只是为了测试如何使用Ansible。可悲的是,我被困在第 2 步,期间出现以下错误vagrant up --provision(我可以重复reload):

'ansible-playbook'在 PATH 变量中找不到 Vagrant 尝试运行的可执行文件。这是一个错误。请验证此软件已安装并在路径上。


到目前为止的调试工作

由于Ubuntu 14 “Trusty” 64bit box 没有安装Ansible,我添加了一个快速的 shell 脚本,在实际的Ansible playbook之前作为配置器运行。这是Vagrantfile

Vagrant.require_version ">= 1.7.0"

Vagrant.configure("2") do |config|

    config.vm.box = "ubuntu/trusty64"

    config.ssh.insert_key = false

    # Synced folders
    config.vm.synced_folder "./public", "/var/www",
        disabled: false

    # Install Ansible
    config.vm.provision :shell,
        path: "provisioners/shell/install-ansible.sh"

    # Run Ansible Playbooks
    config.vm.provision "ansible" do |ansible|
        ansible.verbose = "vvv"
        ansible.playbook = "provisioners/ansible/playbook.yml"
    end
end …
Run Code Online (Sandbox Code Playgroud)

apt vagrant ansible

0
推荐指数
1
解决办法
7125
查看次数

标签 统计

puppet ×2

vagrant ×2

ansible ×1

apt ×1

docker ×1

docker-compose ×1

git ×1

templates ×1