我正在尝试运行一个 python 容器以用作虚拟开发环境。我正在使用自定义编写的 构建自己的 docker 映像Dockerfile
。映像构建始终成功,但是当我从映像运行容器时,它在启动时立即退出。我似乎无法弄清楚为什么会发生这种情况。
我的Dockerfile
:
# Creates Python2.7.10 image for a python dev environemnt on CentOs 7.x
FROM centos:latest
MAINTAINER nmd
# Installs dependencies
RUN yum update -y && \
yum groupinstall development -y && \
yum install -y \
openssl \
openssl-devel \
bzip2-devel \
gcc \
tar \
wget \
zlib-dev \
git \
sudo \
sqlite-devel
# Downloads and installs Python
RUN mkdir /tmp_python && \
cd /tmp_python && \
wget --no-check-certificate https://www.python.org/ftp/python/2.7.10/Python-
2.7.10.tgz && \
tar -zxvf Python-2.7.10.tgz && \
cd /tmp_python/Python-2.7.10 && \
./configure --prefix=/usr/local && \
make && \
make altinstall && \
export PATH="/usr/local/bin:$PATH"
# Installs pip
RUN cd /tmp_python && \
wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py && \
python get-pip.py
# Installs virtualenv
RUN pip install virtualenv
# Creates working directory
ADD . /code
WORKDIR /code
# Default command
CMD ["python"]
当我这样做时docker ps -a
,这就是我看到的:
[root@centos python]# docker run -d --name python-dev a9f468205931
[root@centos python]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
c47908801503 a9f468205931 "python" 34 minutes
ago **Exited (0)** 34 minutes ago python-dev
PORTS NAMES
如您所见,容器已经退出。
答案1
你需要:
docker run -dit --name python-dev a9f468205931
-d
, --detach 在后台运行容器并打印容器 ID
-i
, --interactive 即使未连接,也保持 STDIN 打开
-t
, --tty 分配伪 TTY