gpt4 book ai didi

docker - 如何访问 OpsWorks ECS 层中的私有(private) Docker 存储库?

转载 作者:行者123 更新时间:2023-12-01 02:03:55 29 4
gpt4 key购买 nike

我正在尝试使用 ECS Ops-Works 层来管理一些自动化,但我无法弄清楚如何设置这些实例来设置 ecs.config 以包含我的私有(private) Docker 存储库凭据,如果管理 ec2 则需要手动执行直接就业。我想我需要以某种方式使用一些自定义 Chef 来覆盖 setup recipe加载我的模板而不是该文件的默认模板,但我是 Chef 的新手,所以如何做到这一点尚不清楚。

最佳答案

所以要重述这个问题,你要在opsworks_ecs::setup 中修改这个模板。 Recipe :

template "ecs.config" do
path "/etc/ecs/ecs.config"
source "ecs.config.erb"
owner "root"
group "root"
mode 0644
end

我不知道你是如何“调用”它的,但我现在假设你要么将这个配方直接放在你的 run_list 中和/或用 include_recipe "opsworks_ecs::setup" 显式调用它。

在这种情况下,编写一个包装 Recipe 。如果您为“Acme, Org”工作,可能类似于 acme_opsworks_ecs::setup .

acme_opsworks_ecs/metadata.rb 至少应该有:
name 'acme_opsworks_ecs'
version '0.0.1'

depends 'opsworks_ecs'

acme_opsworks_ecs/recipes/setup.rb 应该如下所示:
include_recipe "opsworks_ecs::setup"
resources(template: "ecs.config").cookbook(cookbook_name)

acme_opsworks_ecs/templates/default/ecs.config.erb 也是必需的
/* add your own template content to this file -- copy theirs and edit */

那应该可以让你修复它。您正在做的是使用 Chef 的两遍解析器,以便 opsworks 配方定义模板资源,然后在实际运行之前重新打开并编辑它。现在,无论您在哪里引用 opsworks_ecs::setup在您的 run_list 或 include_recipe 调用中,将该配方替换为 acme_opsworks_ecs::setup .

如果不直接调用 opsworks_ecs::setup ,然后按照相同的模式包装您调用的 opsworks 配方。

如果你谷歌“chef-rewind”,你可以找到更多关于这种使用 Chef 模式的信息。请注意,我使用的语法是 Chef 内置的,不需要使用自定义 gem 安装或 chef_rewind 资源/定义,因此在此答案中使用语法会更简单。

关于docker - 如何访问 OpsWorks ECS 层中的私有(private) Docker 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34145122/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com