docker - 如何进入 docker 容器并使用 Makefile 命令启动 pipenv shell?
问题描述
我的 dockerized 项目使用 pipenv 来处理 python 依赖项、解释器等。目前我有 Makefile 命令,我可以进入我的 docker 容器:
to-container:
docker exec -ti my_container_name bash
我希望这个命令也自动在容器内启动 pipenv shell,如下所示:
to-container:
docker exec -ti my_container_name bash && pipenv shell
这可能吗,诀窍是什么?
解决方案
你不能像这样做你想做的事。现在甚至忘记docker,更不用说make了。当你调用它时它会做什么:
bash && pipenv shell
首先,它运行bash
程序并等待该程序完成。其次,假设bash
程序成功退出,它将运行pipenv shell
。它肯定不会在程序内部运行pipenv shell
命令。bash
你想要这个,或者类似的东西:
bash -c 'pipenv shell'
这将启动一个bash
程序并要求它运行pipenv shell
命令,然后(pipenv shell
完成后)退出。 pipenv shell
将自己启动一个交互式外壳(据我所知,我不使用pipenv
自己)。这有点恶心,因为你有两个贝壳,但这没什么大不了的。
要将其翻译成 docker,您可以使用:
docker exec -ti my_container_name bash -c 'pipenv shell'
然后把它放到你的makefile中:
to-container:
docker exec -ti my_container_name bash -c 'pipenv shell'
推荐阅读
- python - 如何将 print() 设置为 docx python
- .net - Azure 密钥保管库。这个怎么运作?
- python - AdvancePythonScheduler 暂停作业
- apache-kafka - 在 Kafka 中搜索键或值
- sed - 提取括号之间的字符串
- python-3.x - 按绝对值排序一列的值不同于零的值,将另一列的相等值保持在一起
- html - 使水平滚动条在垂直滚动的底部粘/固定?
- excel - Excel中随机取整为整数
- r - R corrplot:将相关系数与显着性星一起绘制?
- python - mongodb:如何使用 python (pymongo) 创建计算字段?