云效流水线docker部署的镜像更新,我是采用这种方式。有更好的方式吗?目前镜像是用动态标签${DATETIME}。
我是先删除容器,再新增容器,来间接替换镜像。有直接替换镜像,然后启动容器的部署脚本参考吗?
在云效中,你可以使用Docker镜像的标签来跟踪和更新镜像。这样,你就可以直接在现有的容器上更新镜像,而不需要先删除容器然后再创建新的容器。
以下是一个基本的示例,展示了如何在云效中使用Docker镜像的标签:
version: v1
stages:
- name: build
image: node:10
commands:
- npm install
- name: deploy
image: registry.aliyuncs.com/acs/nginx:stable
commands:
- docker pull registry.aliyuncs.com/acs/nginx:${CURRENT_BRANCH}
- docker tag registry.aliyuncs.com/acs/nginx:${CURRENT_BRANCH} my-web-server:latest
- docker push my-web-server:latest
- docker stop my-web-server
- docker rm my-web-server
- docker run -d --name my-web-server my-web-server:latest
在这个示例中,我们首先在build阶段构建我们的应用。然后,在deploy阶段,我们从Docker Hub拉取最新的镜像,并将其标记为my-web-server:latest。然后,我们将这个标记的镜像推送到我们的Docker Registry。最后,我们停止并删除现有的容器,然后运行新的容器。
注意:这个示例假设你已经有一个名为my-web-server的Docker镜像,并且你已经将这个镜像上传到了Docker Hub。此外,你也需要在你的云效项目中配置Docker Registry的信息,以便云效可以从Docker Hub拉取和推送镜像。
对于主机的Docker部署 我们目前推出的是这个Docker部署的任务呢,没有什么其他的方式。镜像升级有一个镜像升级的任务,但是是针对于K8s的deploy的容器镜像进行更新的。目前没有出这样的参考呢。此回答整理自钉群“云效交付域答疑群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。