- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我确定每个人都处在有人提交错误代码的位置,您尝试部署Docker容器,并且它一直在重新启动。今天,我又遇到了这个问题,并尝试在应用服务器本身上解决它。我使用以下命令启动了故障图像:sudo docker run -it --entrypoint /bin/sh (image name) -s
这使我可以输入图像,进行适当的更改,然后启动应用程序。我以为通过退出容器并运行sudo docker commit (container id) (tag)
这将允许我保存更改并使用部署管道来部署更新的容器。但是,容器再次重新启动!我注意到为有问题的容器运行sudo docker ps
时显示的“命令”显示为/bin/sh -s
,这是我用来修复故障容器的入口点。
所以我的问题是-我应该如何处理这种情况?是否可以直接输入重新启动的镜像,还是可以按照我尝试的过程进行操作?如果是这样,我如何在保留docker命令启动应用程序的同时正确提交它?谢谢!
最佳答案
应对这种情况的最佳方法是为图像的每个版本赋予唯一的标签。日期戳或源控件提交ID在这里都可以正常工作。假设您使用日期戳:
sudo docker run -d -p ... my/image:20200513
# oops, that crashes
# we know this version works
sudo docker run -d -p ... my/image:20200512
cvs
/
git
/
hg
/
svn
log
来查找先前的提交ID,但是相同的基本技术可以工作
sudo docker run -d -p ... my/image:0a1b2c3
git log
git checkout 0a1b2c3
sudo docker build -t my/image .
sudo docker run -d -p ... my/image
git revert
之类的东西来添加一个新的提交,以撤消错误的更改:
git log
git revert 4d5e6f7
git push
# wait for the CI system to do its thing
sudo docker pull my/image
sudo docker run -d -p ... my/image
docker commit
。这可能会修复您的系统实例,但是潜在的错误仍将存在于已提交的代码中,并且其他人也不会从您的修复中受益。如果您在生产系统上执行此操作,则您的生产系统将运行未经过常规代码审查和测试过程且与您的官方代码存储库不匹配的代码。
关于docker - 修复不断重启的Docker容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61787224/
如果这不是一个错误,那就是另一个错误。如果不是那样的话,那就是别的东西了。我觉得我的项目已经改变了很多,现在只是试图解决代码签名问题,结果一切都搞砸了。我严格按照说明进行操作,但出现错误,例如当前的“
我不确定是否有一些我不知道的内置变量或规则,或者 make 是否有问题,或者我只是疯了。 对于我的一个项目,我有一个如下的 makefile: CC=g++ CFLAGS=-O3 `libpng-co
我有大约 10 个 div,它们必须不断翻转,每个 div 延迟 3 秒 这个 codrops 链接的最后一个效果是我正在寻找的,但无需单击 div http://tympanus.net/Devel
我如何使用 jQuery 持续运行 PHP 脚本并每秒获取响应,以及将鼠标上的少量数据发送到同一脚本? 我真的必须添加一些随机扩展才能让这么简单的计时器工作吗? 最佳答案 To iterate is
JBoss 4.x EJB 3.0 我见过如下代码(大大简化): @Stateless @TransactionAttribute(TransactionAttributeType.NOT_SUPPO
使用 PHPStorm,我试图忽略每次尝试进行 git 提交时 pop 的 workspace.xml。 我的 .gitignore 看起来像: /.idea/ .idea/workspace.xml
我是一名优秀的程序员,十分优秀!