docker 容器刚运行就退出是怎么回事?
我的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了,这是怎么回事?怎么办?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
需要让 Docker 容器在后台以守护态(Daemonized)形式运行,可以通过添加 -d 参数来实现
注意这里
/bin/sh -c "while true; do echo hello world; sleep 1; done"
docker run 后面加 -d 参数
二楼正解,你需要容器启动时,一直在干一件事,不然,没事干,它就退出了
查看日志: docker logs ${container_id}.
docker默認會吧容器内部pid=1的作为默认得程式