我已经尝试了所有方法,但是无法重新启动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
答案 0 :(得分:0)
首先想到的是正在运行(不幸的是不完整)的命令CMD
,它查看作为定义入口点的源映像Dockerfile https://hub.docker.com/r/continuumio/anaconda3/dockerfile。您可以将最后的ENTRYPOINT
更改为docker run --entrypoint $your-command -p ...
进行测试,以{{1}}启动docker容器,看看它是否有效