diff options
author | chenjiankun <chenjiankun1@huawei.com> | 2016-12-03 15:04:36 +0000 |
---|---|---|
committer | chenjiankun <chenjiankun1@huawei.com> | 2016-12-03 15:04:36 +0000 |
commit | ffd0de5f9728e5c6d4a03eefc0d9782b530526ab (patch) | |
tree | 5b9cca46f092456b682f7db7ebe7cbf3bcea9eaf | |
parent | 78d6cbd462fc7db9dcdab4d2478f6c27437d4c88 (diff) |
Making nginx and uwsgi service start when run docker by using supervisor
JIRA: YARDSTICK-444
We need web service start when docker run.
But now we add command in bashrc, so the web service start only if we
login in docker container.
So I use supervisor to make the web service start when docker run.
Change-Id: Ic77eb0e130ae7dbd82039c312649fed76b128513
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
-rwxr-xr-x | api/api-prepare.sh | 24 | ||||
-rw-r--r-- | docker/Dockerfile | 2 | ||||
-rwxr-xr-x | install.sh | 1 |
3 files changed, 21 insertions, 6 deletions
diff --git a/api/api-prepare.sh b/api/api-prepare.sh index c05dbb5ff..fade8ccc6 100755 --- a/api/api-prepare.sh +++ b/api/api-prepare.sh @@ -24,14 +24,26 @@ server { } } EOF +echo "daemon off;" >> /etc/nginx/nginx.conf fi # nginx service start when boot -cat << EOF >> /root/.bashrc +supervisor_config='/etc/supervisor/conf.d/yardstick.conf' -nginx_status=\$(service nginx status | grep not) -if [ -n "\${nginx_status}" ];then - service nginx restart - uwsgi -i /home/opnfv/repos/yardstick/api/yardstick.ini -fi +if [[ ! -e "${supervisor_config}" ]];then + cat << EOF > "${supervisor_config}" +[supervisord] +nodaemon = true + +[program:yardstick_nginx] +user = root +command = service nginx restart +autorestart = true + +[program:yardstick_uwsgi] +user = root +directory = /home/opnfv/repos/yardstick/api +command = uwsgi -i yardstick.ini +autorestart = true EOF +fi diff --git a/docker/Dockerfile b/docker/Dockerfile index 048804dc5..3dd94019a 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -48,6 +48,7 @@ RUN apt-get update && apt-get install -y \ nginx \ uwsgi \ uwsgi-plugin-python \ + supervisor \ python-setuptools && \ easy_install -U setuptools @@ -73,3 +74,4 @@ ADD http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img /home/op ADD http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img /home/opnfv/images/ COPY ./exec_tests.sh /usr/local/bin/ +CMD ["/usr/bin/supervisord"] diff --git a/install.sh b/install.sh index afb735195..e9b6035d9 100755 --- a/install.sh +++ b/install.sh @@ -16,6 +16,7 @@ apt-get update && apt-get install -y \ nginx \ uwsgi \ uwsgi-plugin-python \ + supervisor \ python-setuptools && \ easy_install -U setuptools |