小编sme*_*eeb的帖子

Docker Registry与Docker"Trusted"Registry

我刚刚阅读了有关保护私有Docker Registry的整个文档.除此之外,似乎还有一个"Docker Trusted Registry",它被描述为:

Docker Trusted Registry(DTR)允许您在公司防火墙后面的自己的基础架构上安全地运行和管理自己的Docker映像存储服务.

此外,该文档继续列出DTR功能:

  • 用于存储,管理和协作Docker镜像的映像注册表
  • 可插拔存储驱动程序
  • 配置选项,允许您在特定的企业环境中运行DTR.
  • 轻松,透明的升级
  • 记录,使用和系统健康指标

但是,"普通"Docker Registry不能给我这些吗?!?

这两件事真的是一样的,还是DTR某种商业化的Docker Registry产品?或者是其他东西?我很困惑!

docker dtr docker-datacenter docker-ucp

16
推荐指数
2
解决办法
6649
查看次数

如何将Grails服务注入src/groovy类

Grails 2.4.x在这里.如果我使用创建了Grails服务grails create-service com.example.Widget,那么如何将该服务的引用("bean")注入到下面的类中src/groovy

这实际上没有在官方Grails文档中的任何地方解释,并且广泛的搜索转回了nadda.

grails dependency-injection

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

重新启动Docker容器"记住"初始运行参数吗?

我使用非常(8行)长的参数列表运行了一个Docker容器:

docker run -d -p 5000:5000 --restart=always --name registry \
    -v `pwd`/auth:/auth \
    -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
    -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
    -v `pwd`/certs:/certs \
    -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt \
    -e REGISTRY_HTTP_TLS_KEY=/certs/registry.key \
    registry:2
Run Code Online (Sandbox Code Playgroud)

我确认这是通过docker ps以下方式运行:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
ff9c654bfc39        registry:2          "/bin/registry /etc/d"   2 days ago          Up 13 minutes       0.0.0.0:5000->5000/tcp   registry
Run Code Online (Sandbox Code Playgroud)

然后我通过这个容器停了下来docker stop ff9c654bfc39.然后,我尝试通过发出docker run ...与第一次完全相同的(8个衬垫)来重新运行容器:

Error response from daemon: Conflict. The name "registry" is already in use by container ff9c654bfc39. …
Run Code Online (Sandbox Code Playgroud)

docker

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

Akka是否淘汰Camel?

Akka的理解是它提供了一个模型,通过这种模型,多个隔离的线程可以以高度并发的方式相互通信.它使用"actor模型",其中每个线程都是一个具有特定工作的"actor".您可以协调哪些消息在什么条件下传递给哪些actor.

我之前使用过Camel,对我来说,我觉得它现在已经失去了它的光彩/效用,因为Akka是如此成熟和有据可查.据我了解,Camel是关于企业集成的,即将多个不同的系统集成在一起,通常以某种服务总线方式.

但想一想:如果我目前正在使用Camel:

  • 轮询FTP服务器获取文件,一旦找到...
  • 将该文件的内容转换为POJO,然后......
  • 如果POJO具有某种状态,则发送电子邮件,或
  • 在所有其他情况下,将POJO保留在数据库中

我可以和Akka做同样的事情; 我可以为每个步骤(轮询FTP,转换文件 - > POJO,电子邮件或持久化)拥有1个Actor,将它们连接在一起,让Akka处理所有的异步/并发.

所以尽管Akka是一个并发框架(使用actor),尽管Camel是关于集成的,但我不得不问:Akka不能解决Camel所做的一切吗?换句话说:在Akka上使用Camel仍然存在哪些用例?

concurrency apache-camel akka enterprise-integration

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

GitFlow:首先合并为master还是在prod发布之后?

学习GitFlow和我有一些问题,我在任何我读过的文档/文章中都看不到这些问题.

在某些时候,develop需要将分支上的代码部署到QA /暂存环境并进行严格测试.因此,使用GitFlow,您可以删除release分支develop,然后部署release到所述分段环境.

首先,只是想快速澄清一些事情:第一次特定的项目/回购经历这个过程,你实际上是在分配/创建这个新的release分支develop,吗?而且,在未来的其他所有时间,你只是合并 developrelease,是的

那么QA测试releasestaging env上的分支,看起来都很好,我们已准备好部署到prod.你呢:

  • 部署到prod 然后合并releasemaster?; 要么
  • 合并releasemaster部署督促?

我问,因为在前一种情况下你需要release分支部署到prod,然后部署到prod,然后合并到master.这听起来还不错,但是prod和非prod环境通常并不完全相同,而且在praging服务器上激活的第二个代码在staging chokes中运行得非常好.我知道GitFlow支持修补程序分支的概念,但它们保留用于小修复.在需要回滚/撤销释放的复杂修复的情况下,我们现在将"脏代码"(由于某种原因破坏prod的代码)合并到其中master.

在后一种情况下,可能需要数小时甚至数天(特别是如果您需要让IT/Ops参与prod部署)从您合并并放入prod释放请求开始,到prod部署实际发生的时间.在这段时间里,你有一个master分支,上面写着"特征X,Y和Z都在生产中",但它们实际上并非如此.

我想知道GitFlow是否真的以某种方式解决了这个问题,或者两种情况下的已知解决方法是什么.

git github git-flow

14
推荐指数
3
解决办法
3724
查看次数

libcontainer vs Docker vs OCF vs runc?

我试图更好地理解Docker世界,并且似乎无法将我的大脑包围在这些之间的差异.我相信 OCF是一个由OpenContainers认可的新兴容器标准,我相信 Docker将成为该标准的第一个参考实现.但即便如此,我也担心Google Gods似乎没有提供以下答案:

  • OCF的"标准" 究竟是什么?只是一份书面文件?一个书面的API?一个编译过的C lib?
  • 本标准规定的具体项目有哪些例子?我想如果没有真正理解什么是" 容器 ",我很难理解容器的管理标准甚至是什么.
  • runc和libcontainer如何/在哪里适合Docker/OCF等式?

runc docker linux-containers

13
推荐指数
2
解决办法
4785
查看次数

Docker,CoreOS和基于机群的部署

我正试图围绕CoreOS,我仔细阅读他们的官方文档,一些随机文章,甚至看到他们的CTO的这个优秀的演示文稿.

  • CoreOS的理解是它是一个简单的,简单的Linux发行版,它需要运行它的任何东西都是一个符合OCF的容器,不仅仅是一个Docker容器.
  • 理解船队是其systemd在群集级别
  • 理解绒布是,其是被两个网络层ETCD和舰队的航线网络请求住在集群中的容器

首先,如果我的上述断言不正确或以任何方式误导,请先纠正我!假设我或多或少走上正轨,我在这里有一些担忧:

  • CoreOS提供了哪些具体的好处,它提供了与其他Linux发行版不同的Docker包含的应用程序,例如Ubuntu或Debian?换句话说,通过Docker/CoreOS与Docker/Ubuntu相比,我获得了哪些客观收益?
  • Fleet看起来像是一个调度引擎,就像Mesos或Kubernetes.它是这些项目的直接竞争对手,还是处理不同"层次"(不同类型的职责)的日程安排?如果是这样,这些区别是什么?

docker mesos coreos fleet

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

Hibernate new_generator_mappings究竟究竟做了什么?

Spring Boot/JPA/Hibernate的新手,我试图了解该hibernate.id.new_generator_mappings属性实际上做了什么.

根据该文件,它:

" ...指示在使用@GeneratedValue时如何生成标识或序列列 "

但它并没有真正解释行为的差异,从它的时间true到它的时间false.有任何想法吗?

hibernate jpa spring-boot

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

Docker,Registrator和Consul就是一个例子

我是新来的两个码头工人和领事,并想获得如何集装箱的应用程序可以使用领事的感觉服务注册和KV对配置管理("配置").

我的理解是我可以:

  • 创建运行领事服务器,所以像图像这样 ; 然后
  • myvm01.example.com(Ubuntu VM)上调出三个Docker-Consul容器(从而形成一个集群/仲裁); 然后
  • 重构我的应用程序以使用Consul并创建一个运行我的应用程序和Consul代理的Docker镜像,并将代理程序配置为在启动时加入3节点仲裁.启动时,我的应用程序使用本地Consul代理程序下拉所有配置,存储为KV对.它还提供已注册/健康的服务,并使用本地负载平衡工具来平衡与其集成的服务.
  • 比如说,运行我的app的容器myvm02.example.com(另一个Ubuntu VM).

首先,如果任何一个看起来我误解了Docker和Consul(没有Registrator)的正常/正确使用,请首先纠正我!

假设我或多或少是正确的,我最近偶然发现了Registrator,现在更加困惑.Registrator似乎是您的应用程序容器和您的Consul(或您使用的任何注册表)服务器之间的中间人.

阅读他们的快速入门教程后,听起来你应该做的是:

  • myvm01.example.com像以前一样部署我的Consul集群/仲裁容器
  • 我没有直接使用Consul"Dockerizing"我的应用程序,而是将其与Registrator集成
  • 然后我在某处部署一个Registrator容器,并将其配置为与Consul集成
  • 然后我部署我的app容器.它们与Registrator集成,而Registrator则与Consul集成.

我的担忧:

  • 我的理解在这里是正确还是偏离基础?如果是这样,怎么样?
  • 通过添加Registrator实际获得了什么.它似乎(至少未训练的眼睛)不像应用程序和服务注册表之间的间接层.
  • 我还能通过Registrator利用Consul的KV配置服务吗?

docker consul

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

在客户端或服务器端拦截Grails GSP操作

Grails 2.4.5在这里.我正在尝试为我的GSP实现以下UX行为:

  • 如果用户有权点击按钮,那么他们可以这样做; 然而
  • 如果用户没有点击按钮的权限,那么当他们点击按钮时,屏幕顶部会出现横幅消息(闪烁?),玫瑰/粉红色/红色背景表示" 您没有权限"采取这个行动 '

要确定用户是否具有所需权限,我可以从Groovy和GSP/taglib层访问功能.

从Groovy/controller层:

SecurityUtils.hasPermission(String permission)
Ex: SecurityUtils.hasPermission('UPDATE_BUZZ')
Run Code Online (Sandbox Code Playgroud)

从GSP/taglib层:

<sec:hasPermission permission="<permission name>">???</sec:hasPermission>
Ex: <sec:hasPermission permission="UPDATE_BUZZ">???</sec:hasPermission>
Run Code Online (Sandbox Code Playgroud)

因此,给定这两种可用的访问检查机制,并给出以下控制器:

class FizzController {
    BuzzService BuzzService

    def buzz() {
        SomeData dataModel = buzzService.getModel(params)
        render(view: 'buzz', model: [ dataModel: dataModel ])
    }
}
Run Code Online (Sandbox Code Playgroud)

......在哪里buzz.gsp:

<!-- Lots of HTML/GSP here -->
<g:submitButton name="update" value="Update" />
<!-- Lots more HTML/GSP down here -->
Run Code Online (Sandbox Code Playgroud)

鉴于这一切,我的问题是:我应该如何/在哪里:(1)响应' update'按钮的点击处理程序,(2)执行访问检查,以及(3)呈现错误/横幅/ flash消息?代码示例(甚至伪代码)将是最棒的!

grails groovy taglib gsp

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