当前位置: 首页 > 知识库问答 >
问题:

在不进入Python解释器的情况下运行一个新的Docker容器

邢小云
2023-03-14

我使用以下命令从Python:3.8映像创建了一个新容器:Docker run-it--name first_container-v app_files://appfilespython:3.8,每次我必须在该容器中运行解释器。

host@host_name:~$ docker run -it --name first_container -v app_files:/app_files python:3.8
Python 3.8.11 (default, Jun 29 2021, 19:54:56)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> exit()
host@host_name:~$ docker ps -a
CONTAINER ID   IMAGE        COMMAND     CREATED          STATUS                     PORTS     NAMES
baf1d785d2ac   python:3.8   "python3"   3 minutes ago    Exited (0) 8 seconds ago             first_container

我希望运行一个新容器,然后直接进入root@first_container以运行其他内容。然后我可以使用Regan的方法离开容器而不停止它。这可能吗,或者这有什么意义吗?(对docker来说还是个新手)

共有1个答案

崔高远
2023-03-14

要重写默认的Python命令并运行一个shell,请在图像名之后指定该命令。像这样

docker run-it--name first_container-v app_files://appfilespython:3.8/bin/bash

 类似资料:
  • 问题内容: 我在Docker容器上安装了Nginx,并且正在尝试像这样运行它: 问题在于Nginx的工作方式,即初始进程会立即产生一个主要的Nginx进程和一些工作程序,然后退出。由于Docker仅监视原始命令的PID,因此容器将暂停。 如何防止容器停止?我需要能够告诉它绑定到第一个子进程,或者阻止Nginx的初始进程退出。 问题答案: 像所有行为良好的程序一样,可以配置为不自我守护。 使用htt

  • 问题内容: 在SQL(SQL Server)中,是否可以从表的标识列中检索下一个ID(整数),而实际上无需插入行?如果删除了最近的行,则不一定是最高ID加1。 我之所以这样问,是因为我们有时不得不用新行更新活动数据库。该行的ID在我们的代码中使用(例如,Switch(ID){Case ID:},并且必须相同。如果我们的开发数据库和实时数据库不同步,最好预先预测一个行ID部署之前。 我当然可以 SE

  • 我有一个docker撰写文件,它看起来像: 我正在为其他人构建的raspberry pi使用mongoDB容器(我刚刚从docker hub中提取),问题是如果由于任何原因出现不正确的关闭,容器无法处理mongod。锁定/data/db目录中的文件。 在这种情况下,在尝试重新启动所有容器时,mongodb容器将保持退出状态,状态代码为100,唯一的修复方法是通过运行sudo rm/data/db/

  • 我有一个Docker的图像火花Jupyter(https://github.com/zipfian/spark-install) 我为hadoop准备了另一个docker图片。(https://github.com/kiwenlau/hadoop-cluster-docker) 我在Ubuntu中运行上述两张图片中的两个容器。对于第一个容器:我能够成功地启动jupyter并运行python代码:

  • 问题内容: 我使用带有标签的php docker容器作为基础: 当我尝试重新启动容器内的apache2时,容器停止: 如何在不停止容器的情况下重新启动apache2? 在将更改放入dockerfile之前,我想使用容器并对其进行自定义。我想安装一些扩展程序,为了使其正常工作,我需要重新启动apache才能使更改生效。 这是通过以下文件的日志文件: 问题答案: 如果将apache用作保持运行容器的主

  • 例如,在我的服务器上,当我想更新我的应用程序时,我只需要,工作得很好。 但有时,我需要重新构建(例如,我添加了一个npm依赖项,需要再次运行)。 在本例中,我执行。 我希望这样做: null 是预期的行为吗? 如何处理重建并在构建后启动新的重建? 也许我漏掉了一个特定的命令?或者拥有它有意义吗?