如果我使用以下命令运行我的Dockerfile,则docker容器开始运行,一切正常。
docker run --name test1 -i -t 660c93c32a
但是,如果我在没有-it的情况下运行此命令,则容器似乎没有运行,因为docker ps不返回任何内容:
docker run -d --name test1 660c93c32a
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
我试图做的就是运行容器,然后能够在容器中附加和/或打开一个shell。
不确定问题是否在我的dockerfile中,所以粘贴了下面的dockerfile。
############################################################
# Dockerfile to build Ubuntu/Ansible/Django
############################################################
# Set the base image to Ansible
FROM ubuntu:16.10
# File Author / Maintainer
MAINTAINER David
# Install Ansible and Related Deps #
RUN apt-get -y update && \
apt-get install -y python-yaml python-jinja2 python-httplib2 python-keyczar python-paramiko python-setuptools python-pkg-resources git python-pip
RUN mkdir /etc/ansible/
RUN echo '[local]\nlocalhost\n' > /etc/ansible/hosts
RUN mkdir /opt/ansible/
RUN git clone http://github.com/ansible/ansible.git /opt/ansible/ansible
WORKDIR /opt/ansible/ansible
RUN git submodule update --init
ENV PATH /opt/ansible/ansible/bin:/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin
ENV PYTHONPATH /opt/ansible/ansible/lib
ENV ANSIBLE_LIBRARY /opt/ansible/ansible/library
# Update the repository sources list
RUN apt-get update -y
RUN apt-get install python -y
RUN apt-get install python-dev -y
RUN apt-get install python-setuptools -y
RUN apt-get install python-pip
RUN mkdir /ansible/
WORKDIR /ansible
COPY ./ansible ./
WORKDIR /
RUN ansible-playbook -c local ansible/playbooks/installdjango.yml
ENV PROJECTNAME davidswebsite
CMD django-admin startproject $PROJECTNAME
答案 0 :(得分:0)
当您运行容器时,CMD或ENTRYPOINT之后的命令变为您容器的$ 1进程。如果此过程运行良好,您的容器将会死亡。
因此,请使用以下方法检查容器日志:
docker logs <container id>
并在CMD django-admin startproject $PROJECTNAME