如何在Docker群模式服务调用中设置Linuxfunction

我正在研究在swarm(1.12.x)下运行的Vault的概念。

一个容器将启动: docker run -d --cap-add IPC_LOCK -p 8200:8200 -p 8215:8125 --name vault --volume /vagrant/vault:/vagrant/vault vault server -config=/path/to/vault.hcl

但是当我想在群集中作为一个服务来运行它时,似乎没有办法指定IPC_LOCKfunction,以便在这种情况下lockingVault服务的encryption交换。

如何在使用docker docker service create命令启动群集模式服务时设置–cap-add标志?

目前还不支持,但是Docker正在开发一个解决scheme。 盲目地不包括--cap-add选项背后的逻辑是在一个大的集群中,可能会有一个pipe理员向工作者提交具有额外特权的容器的安全问题。 工作人员可能会信任运行无法访问主机的安全容器,但不希望允许通过特权容器对主机进行远程root访问。

讨论这个在github上已经结束了:

https://github.com/docker/docker/pull/26849#issuecomment-252704844

https://github.com/docker/swarmkit/issues/1030

https://github.com/docker/swarmkit/pull/1722