我的Dockerfile:
FROM continuumio/miniconda:latest
MAINTAINER 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.txt
RUN 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/bash
sleep 15
#-d feiyu/django-app /usr/local/bin/gunicorn backend.wsgi:application -w 1 -b :8000
輸入sudo docker ps -a 查看,結果都是
51e87164a739 feiyu/django-app "/usr/bin/tini -- ..." 5 minutes ago Exited (127) 8 seconds ago django
一運行就exit了,這是怎麼回事?怎麼辦?
docker run 後面加上 -d 參數
需要讓 Docker 容器在後台以守護態(Daemonized)形式運行,可以透過添加 -d 參數來實現
注意這裡
/bin/sh -c "while true; do echo hello world; sleep 1; done"