gpt4 book ai didi

docker - 如何从工作站引导到Docker容器?

转载 作者:行者123 更新时间:2023-12-02 20:34:52 25 4
gpt4 key购买 nike

I want to run a role on docker container .How can i achieve it ??

Any syntax of command will be helpful.

刀靴-x -P像这样
Thanks

最佳答案

有了具有ssh访问权限的容器,您可以使用knife bootstrap。例如:

CONTAINER=$(docker run -d -e ROOT_PASS="mypass" tutum/ubuntu:trusty)
CONTAINERIP=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${CONTAINER})
knife bootstrap $CONTAINERIP -x root -P mypass --sudo -r 'role[myrole]'

第一行将运行一个启用了ssh守护程序的docker容器(图像 tutum/ubuntu:trusty),并将root ssh密码设置为“mypass”。该图像的CONTAINER_ID由 docker run命令返回,并保存到 CONTAINER变量中。

第二个命令将使用此CONTAINER_ID获取分配给该容器的IP地址,并将其保存到 CONTAINERIP变量中。

第三个命令使用$ CONTAINERIP变量引用容器中的ip和容器的ssh凭据,将厨师引导到容器中。如果您正确配置了刀,这可以正常工作。

关于SSH的注意事项:
您使用的容器必须运行守护程序ssh。在docker docs中有对此的引用( http://docs.docker.com/examples/running_ssh_service/)。在Docker中心中也有很多镜像(如示例tutum / ubuntu:trusty中的镜像)。

关于公开SSH端口的注意事项:
如果您的厨师工作站(配置了刀的工作站)不是运行容器的工作站,则可以将ssh端口暴露给主机的端口,然后通过该端口访问HOST_IP。例如:
CONTAINER=$(docker run -d -p 2222:22 -e ROOT_PASS="mypass" tutum/ubuntu:trusty)

knife bootstrap $HOST_IP -p 2222 -x root -P mypass --sudo -r 'role[myrole]'

关于docker - 如何从工作站引导到Docker容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28604966/

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