如何在运行后获得对docker集装箱的bash访问权限

我的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 

我像这样构build图像

 docker build -t my/ocr:latest docker-ocr 

我像这样运行图像

 docker run -d --name ocr my/ocr 6cb4d2408ced5b5b3c68f3f5b236784c2ec3ba780592104c7a7651620bd3bd75 

但是,当我试图冲进容器 – 它说它没有运行。 之所以我想入手是因为我想安装OpenCV。 所以我想先打开它手动执行命令,以确保它们正常工作,以便我可以把它们放在我的泊坞窗文件。

 ▶ 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。

如果你不想这样做,你可以开始你的cotainer

 docker run -d --name ocr my/ocr sleep infinity 

然后执行到你的容器中:

 docker exec -it ocr bash