首先得找一个 docker hosting provider 即docker服务商,国外是 Amazon, Microsoft, Google 三大家。
接着在 docker hub 中创建自己的远程镜像仓库:login.docker.com/u/login/identifier?state=hKFo2SBmZWcxR1Q2bWpmR1VLN2Y1MTZ4VzNtMk5rRW5aeE5RVaFur3VuaXZlcnNhbC1sb2dpbqN0aWTZIF9WdG1SXzRGb0M4TTRPWFI1a19JclZJbEZteEducE1wo2NpZNkgbHZlOUdHbDhKdFNVcm5lUTFFVnVDMGxiakhkaTluYjk
在本地对已经制作好的镜像进行重命名,为远程仓库的名称,如 edwinaze/node-example-1
:
docker tag node_example-1 edwinaze/node-example-1
再之后 push 到 docker hub:
docker push edwinaze/node-example-1
当然记得登录 docker login
。
之后在服务器使用:
dcoker run -d --rm -p 80:80 edwinaze/node-example-1
但这种方式也很繁琐,如果代码有更新,需要我们手动打包镜像,push 到 docker hub 并 SSH 到服务器然后进行 docker pull 最后进行 docker run。
繁琐是一方面,另一方面是这种操作需要 SSH 为 root 用户,使用服务器的最高权限来操作,会带来很大的安全负担,故可以使用各大运营商的容器托管计算服务。