我很困惑使用VSTS将我的项目docker容器从docker存储库推送到我的生产服务器上需要什么。
我已完成以下步骤:
我可以手动登录我的linux(ubuntu 16)框并拉下容器并100%运行。
我想在VSTS中创建一个发布步骤/操作,为我做最后一个手动步骤。这可能吗?如果是这样,有人可以解释这些步骤或指向一个好的指南。
注意:网络盒子是我自己的私人VPS盒子,没有主要的云提供者,只是直接安装了docker的ubuntu。
答案 0 :(得分:0)
你现在有不同的选择。您可以使用Ansible之类的工具创建脚本并在远程服务器上运行。
或者您可以在远程服务器上创建执行整个更新过程的脚本
<强> /var/myapp/update.sh 强>
#!/bin/bash
docker pull myimage:latest
docker stop myapp
docker rm myapp
docker run -d -p 80:80 --name myapp myimage:latest
设置基于密钥的SSH会话,然后使用下面的
ssh -i keyfile <user>@<Server> bash -c "/var/myapp/update.sh"
编辑-1
对于tty问题,请将ssh命令更改为
ssh -t -i keyfile <user>@<Server> bash -c "/var/myapp/update.sh"
对于sudo问题,您可以将用户添加到docker组
sudo usermod -aG docker <user>