Azure Docker run不';t作为terraform启动脚本的一部分工作
我正在使用terraform一次提供一堆机器。每个都应该运行相同的docker容器。启动脚本如下所示:Azure Docker run不';t作为terraform启动脚本的一部分工作,azure,docker,terraform,Azure,Docker,Terraform,我正在使用terraform一次提供一堆机器。每个都应该运行相同的docker容器。启动脚本如下所示: sudo apt-get remove docker docker-engine docker.io containerd runc -Y sudo apt-get update -Y sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ s
sudo apt-get remove docker docker-engine docker.io containerd runc -Y
sudo apt-get update -Y
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common -Y
curl https://get.docker.com | sh && sudo systemctl --now enable docker
sudo docker build -t dockertest /path/to/dockerfile
sudo docker run --gpus all -it -v /path/to/mount:/usr/src/app dockertest script.py -b 03
基本上,它安装docker,然后构建容器,然后运行它
只有最后一行不行。如果我ssh到机器中,它工作正常。但不是作为启动脚本的一部分
如何让它作为启动脚本的一部分工作?用ssh连接到一大群机器中是一件很麻烦的事。如果其他任何人遇到这个问题:解决方法就是将
-It
从docker run
命令中删除。这是作为cloud init/用户数据运行还是类似的?还是作为远程执行资源调配器?你能分享你的地形代码吗?理想情况下,这应该是VM创建以及如何执行此脚本。根据syslog,它看起来像是通过cloud_init完成的。不知道地形MRE。这是工程师做的一笔巨额回购。作为数据科学家,我只是在startup.sh(上图)和terraform.tfvarsIt中更改了一些内容,似乎您需要运行sudocker
命令,而不是创建一个服务(例如通过systemd),然后启动并启用它(以便在重新启动时启动)。这将让我开始