问题描述
我的Dockerfile:
FROM continuumio/miniconda:latestMAINTAINER Kamil Kwiek <kamil.kwiek@continuum.io>ADD backend.tar.gz /usr/src/ # app 所在目录WORKDIR /usr/src/backend# 安装miniconda,配置conda 环境RUN apt-get install -y gcc g++COPY backend_uwsgi.ini /usr/src/backend/COPY environment.txt /usr/src/backend/environment.txtRUN conda env create -f /usr/src/backend/environment.txt
start.sh的内容:
#!/bin/bash #docker exec -d mysql mysql -uroot -p123456 -e 'create database blog;'docker build -t feiyu/django-app .docker run --name django -v /usr/src/backend -v /usr/src/backend/static --link mysql:mysql -p 12000:8000 -d feiyu/django-app uwsgi --ini /usr/src/backend/backend_uwsgi.ini /bin/bashsleep 15#-d feiyu/django-app /usr/local/bin/gunicorn backend.wsgi:application -w 1 -b :8000
输入sudo docker ps -a 查看,结果都是
51e87164a739feiyu/django-app '/usr/bin/tini -- ...' 5 minutes ago Exited (127) 8 seconds ago django
一运行就exit了,这是怎么回事?怎么办?
问题解答
回答1:docker run 后面加 -d 参数
回答2:需要让 Docker 容器在后台以守护态(Daemonized)形式运行,可以通过添加 -d 参数来实现
$ sudo docker run -d ubuntu:14.04 /bin/sh -c 'while true; do echo hello world; sleep 1; done'
注意这里/bin/sh -c 'while true; do echo hello world; sleep 1; done'