docker - docker-compose 运行现有容器
问题描述
我正在使用 docker-compose 运行正在开发的应用程序。
我有一个运行 python Flask web 应用程序的“web”服务。该服务依赖于其他服务(数据库、缓存等)。
我需要以交互方式运行“web”主服务才能访问调试器(ipdb)。我发现这样做的方法是
docker-compose run --name my-app.web --service-ports web
当我退出此容器并尝试使用相同的命令再次运行它时,出现此错误:
ERROR: Cannot create container for service web: Conflict. The container name "/my-app.web" is already in use by container "4fed84779bb02952dedb8493a65bd83b1a6664f066183233e8c8b4dc62291643". You have to remove (or rename) that container to be able to reuse that name.
如何在不创建新容器的情况下重新启动该容器?
还是每次我需要启动此应用程序时创建新容器的正确方法?
还是我错过了能够以交互方式启动其中一项服务的东西?
解决方案
当您设置自定义名称时,docker-compose run
执行完成后不会删除容器。要启用此行为,请使用以下选项--rm
:
docker-compose run --rm --name my-app.web --service-ports web
您还可以手动删除容器以便能够再次运行它:
docker rm my-app.web
如果您不设置自定义名称,则无需这样做。
推荐阅读
- javascript - 未捕获的类型错误:无法解析模块说明符“firebase/app”。相对引用必须以“/”、“./”或“../”开头
- javascript - 缩放英雄图像影响无法在移动设备上运行
- ios - 如何快速检查给定的字符串是否为 HTML 格式
- python - 保留具有一组唯一值的行并删除其余行
- reactjs - 带有 React 和 Next 的语言切换器
- android - Android,我的应用在最近的应用(任务管理器)中的问题(错误)
- azure - 我可以设置一个警报,在函数应用中更新配置时通知我吗?
- hadoop - 如何使用 gSpark (pspark) 连接到 Hive?
- python - 替换 Python 2D numpy 数组的“L”形部分的值
- javascript - 如何使用 ace 解析 HTML 中显示的 JSON