Skip to content

Commit

Permalink
Ultimos ajustes para dockeirizar a aplicação
Browse files Browse the repository at this point in the history
  • Loading branch information
Rafael Gomes committed Jun 12, 2016
1 parent dca6fa4 commit 018f792
Show file tree
Hide file tree
Showing 6 changed files with 85 additions and 20 deletions.
11 changes: 9 additions & 2 deletions Dockerfile
Expand Up @@ -5,8 +5,15 @@ WORKDIR /app
RUN pip install --upgrade pip
ADD requirements.txt /app/
RUN pip install -r requirements.txt
RUN apt-get update && apt-get install supervisor nginx -y
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY apoio.nginx /etc/nginx/sites-enabled/apoio
RUN ln -sf /dev/stdout /var/log/nginx/access.log
RUN ln -sf /dev/stderr /var/log/nginx/error.log
ADD . /app/
WORKDIR /app/apoio/

COPY docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]
#COPY ./docker-entrypoint.sh /docker-entrypoint.sh
#ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["/usr/bin/supervisord"]
#CMD uwsgi --socket=apoio.sock --chdir /app/apoio --wsgi-file wsgi.py --chmod-socket=666
33 changes: 22 additions & 11 deletions README.md
Expand Up @@ -32,27 +32,38 @@ Linux: https://docs.docker.com/linux/
Windows: https://docs.docker.com/windows/


## Docker only
## Docker compose

```
$ docker build -t piratas/apoio .
$ docker run -d -p 8000:8000 piratas/apoio
# docker-compose up -d
```

Montando o diretorio para desenvolvimento:

Acesse via:

Linux:http://127.0.0.1

Mac ou Windows: http://192.168.99.100 (caso não funcione, pegue o IP da docker-machine com: $docker-machine ip

Para desligar o container
```
$ docker run -d -p 8000:8000 -v $PWD/apoio:/app/apoio piratas/apoio
# docker-compose stop -d
```

## Docker compose

Para visualizar os logs usando docker
Primeiro descubra o nome ou id do container
```
$ docker-compose up -d
# docker ps
```

Acesse via:
Depois analise os logs
```
# docker logs -f nome ou id
```

Linux:http://127.0.0.1:8000
Para analisar os logs no host
```
journalctl CONTAINER_NAME=nome
```

Mac ou Windows: http://192.168.99.100:8000 (caso não funcione, pegue o IP da docker-machine com: $docker-machine ip
Para mais informações sobre como foi configurado o log vejam [aqui](https://docs.docker.com/engine/admin/logging/journald/)
23 changes: 23 additions & 0 deletions apoio.nginx
@@ -0,0 +1,23 @@
server {
listen 80;
# server_name 192.168.99.100;
server_name 104.131.25.79;
# ssl_certificate /etc/nginx/cert.crt;
# ssl_certificate_key /etc/nginx/cert.key;

# ssl_session_cache builtin:1000 shared:SSL:10m;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
# ssl_prefer_server_ciphers on;

location / {
include uwsgi_params;
uwsgi_pass unix:///app/apoio/apoio.sock;
}
location /media {
alias /app/apoio/inc;
}
location /static {
alias /app/apoio/inc;
}
}
17 changes: 10 additions & 7 deletions docker-compose.yml
@@ -1,7 +1,10 @@
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/app/
ports:
- "8000:8000"
version: "2"
services:
web:
build: .
ports:
- "80:80"
logging:
driver: journald
volumes:
- banco_apoio:/app/apoio/db.sqlite3
1 change: 1 addition & 0 deletions requirements.txt
@@ -1 +1,2 @@
Django==1.9.6
uwsgi
20 changes: 20 additions & 0 deletions supervisord.conf
@@ -0,0 +1,20 @@
[supervisord]
nodaemon=true

[program:uwsgi]
user = root
command=uwsgi --socket apoio.sock --chdir /app/apoio --wsgi-file wsgi.py --chmod-socket=666
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[program:nginx]
user = root
command=/usr/sbin/nginx -g "daemon off;"
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

0 comments on commit 018f792

Please sign in to comment.