python - 运行后如何获得对Docker容器的bash访问

标签 python opencv docker docker-machine

我的dockerfile看起来像这样:

FROM my/ubuntu:latest

RUN apt-get update \
 && apt-get install -y build-essential cmake pkg-config wget \
 libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev \
 libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
 libatlas-base-dev gfortran \
 python \
 python2.7-dev \
 && wget https://bootstrap.pypa.io/get-pip.py \
 && python get-pip.py \
 && pip install numpy

我建立这样的形象
docker build -t my/ocr:latest docker-ocr

我这样运行图像
docker run -d --name ocr my/ocr
6cb4d2408ced5b5b3c68f3f5b236784c2ec3ba780592104c7a7651620bd3bd75

但是,当我尝试向容器重击时-它说它没有运行。我之所以要猛扑它,是因为我想安装OpenCV。因此,我想先执行一下操作以手动执行命令,以确保命令正常运行,以便可以将其放入我的docker文件中。
▶ docker ps -a
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                     PORTS                    NAMES
6cb4d2408ced        my/ocr            "/bin/bash"              9 seconds ago       Exited (0) 9 seconds ago                            ocr
74c1f48e98ad        my/tomcat:7.0     "/run.sh"                2 days ago          Up 2 days                  0.0.0.0:8080->8080/tcp   tomcat7
db3f66a2d97e        my/mysql:latest   "/sbin/entrypoint.sh "   3 days ago          Up 3 days                  0.0.0.0:3306->3306/tcp   mysql

由于容器没有运行,所以我似乎无法对其进行抨击:
▶ docker exec -it ocr bash
Error response from daemon: Container ocr is not running

问题

我如何获得对这个容器的 shell 访问权限,以便可以使用以下方法对其进行重击
docker exec -it ocr bash

最佳答案

您可以使用以下内容启动容器

docker run -it --name ocr my/ocr bash

并直接获得 shell 。

如果您不想要,可以用以下方法启动容器
docker run -d --name ocr my/ocr sleep infinity

然后执行到您的容器中:
docker exec -it ocr bash

关于python - 运行后如何获得对Docker容器的bash访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34975652/

相关文章:

Python 代码在 2.7 中有效,但在 3.5 中无效

python - django rest 框架中基于类的 View 的自定义装饰器

c++ - 将视频帧数据移动到 GPU 的最有效方法是什么?

node.js - 无法使用Shell脚本启动 Node 应用

docker - 在Kubernetes中使用容器存储/共享数据

python - 如何访问 Jinja2 中的部分列表

Python 2.7 - 计算每行的分位数

python - 如何使用 Python 和 OpenCV 增强图像然后将其转换为二进制图像?

c++ - 如何将 boost::geometry::distance 与 opencv cv::Point 一起使用?

docker - 获取错误来自守护程序的错误响应:OCI运行时创建失败:container_linux.go:344(如果我尝试发布端口)