我正在研究在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