无法重新启动``始终''重启的Docker容器

时间:2020-06-04 14:10:55

标签: python apache docker ubuntu mod-wsgi

我已经尝试了所有方法,但是无法重新启动docker容器。如果使用--restart“ always”,它将进入无限重启的循环。

以下是Dockerfile的配置:-

FROM continuumio/anaconda3:4.4.0
EXPOSE 8000
RUN echo "deb http://deb.debian.org/debian jessie main" > /etc/apt/sources.list
RUN apt-get update && apt-get install -y apache2 \
    apache2-dev \
    vim \
 && apt-get clean \
 && apt-get autoremove \
 && rm -rf /var/lib/apt/lists/* 
WORKDIR /var/www/test/
COPY ./test.wsgi /var/www/test/test.wsgi
COPY ./Demo /var/www/test/
RUN /opt/conda/bin/mod_wsgi-express install-module
RUN mod_wsgi-express setup-server test.wsgi --port=8000 \
    --user www-data --group www-data \
    --server-root=/etc/mod_wsgi-express-80
CMD /etc/mod_wsgi-express-80/apachectl start -D FOREGROUND

并使用以下命令运行容器:-

docker run -d -p 8000:8000 --restart always test1

重新启动docker / server之后

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                          PORTS                  NAMES
f4ec5dc90809        test1                 "/usr/bin/tini -- /b…"   2 minutes ago       Restarting (0) 26 seconds ago                          practical_colden

我也尝试过失败,但是效果不佳。

容器的日志

/etc/mod_wsgi-express-80/apachectl: line 63: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
httpd (pid 7) already running
/etc/mod_wsgi-express-80/apachectl: line 63: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
httpd (pid 7) already running
/etc/mod_wsgi-express-80/apachectl: line 63: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
httpd (pid 7) already running

1 个答案:

答案 0 :(得分:0)

首先想到的是正在运行(不幸的是不完整)的命令CMD,它查看作为定义入口点的源映像Dockerfile https://hub.docker.com/r/continuumio/anaconda3/dockerfile。您可以将最后的ENTRYPOINT更改为docker run --entrypoint $your-command -p ...进行测试,以{{1}}启动docker容器,看看它是否有效