docker 容器刚运行就退出是怎么回事?

发布于 2022-09-04 22:58:47 字数 1112 浏览 22 评论 0

我的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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

遇到 2022-09-11 22:58:47

需要让 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"

迷乱花海 2022-09-11 22:58:47

docker run 后面加 -d 参数

江城子 2022-09-11 22:58:47

二楼正解,你需要容器启动时,一直在干一件事,不然,没事干,它就退出了

寄风 2022-09-11 22:58:47

查看日志: docker logs ${container_id}.
docker默認會吧容器内部pid=1的作为默认得程式

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文