├── .gitignore ├── README.md ├── docker-compose.yml ├── env-example ├── htdocs ├── 50x.html ├── api.dev │ └── public │ │ ├── 50x.html │ │ └── index.html └── index.html └── nginx ├── Dockerfile └── sites ├── api.dev.conf └── default.conf /.gitignore: -------------------------------------------------------------------------------- 1 | # ----------------------------------------------------------------- 2 | # .gitignore para Docker 3 | # ----------------------------------------------------------------- 4 | 5 | # ignora tudo no diretório "htdocs", exceto: 6 | htdocs/* 7 | !htdocs/api.dev 8 | htdocs/api.dev/* 9 | !htdocs/api.dev/public 10 | htdocs/api.dev/public/* 11 | !htdocs/50x.html 12 | !htdocs/index.html 13 | !htdocs/api.dev/public/50x.html 14 | !htdocs/api.dev/public/index.html 15 | 16 | # ignora tudo no diretório "nginx/logs" 17 | nginx/logs/ 18 | 19 | # ignora tudo no diretório "nginx/sites", exceto: 20 | nginx/sites/* 21 | !nginx/sites/default.conf 22 | !nginx/sites/api.dev.conf 23 | 24 | # ignora todos os arquivos iniciados com . 25 | .* 26 | 27 | # rastreia o arquivo .gitignore (Não ignorar isso) 28 | !.gitignore 29 | 30 | # rastreia o arquivo .editorconfig (Não ignorar isso) 31 | !.editorconfig 32 | 33 | # rastreia o arquivo readme.md (Não ignorar isso) 34 | !readme.md 35 | 36 | # ignora todos os arquivos que começam com ~ 37 | ~* 38 | 39 | # ignora arquivos gerados pelo sistema operacional 40 | ehthumbs.db 41 | Thumbs.db 42 | 43 | # ignora arquivos de Editores 44 | *.sublime-project 45 | *.sublime-workspace 46 | *.komodoproject 47 | .idea 48 | 49 | # ignora arquivos de log e banco de dados 50 | *.log 51 | *.sql 52 | *.sqlite 53 | 54 | # ignora arquivos compilados 55 | *.com 56 | *.class 57 | *.dll 58 | *.exe 59 | *.o 60 | *.so 61 | 62 | # ignora arquivos de pacote 63 | *.7z 64 | *.dmg 65 | *.gz 66 | *.iso 67 | *.jar 68 | *.rar 69 | *.tar 70 | *.zip 71 | 72 | .DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Descrição 2 | 3 | Docker utilizando o compose, arquivo de configuração com variáveis de ambiente e criando um container nginx 1.13.3 4 | 5 | # Configuração Container Nginx 6 | 7 | 1. Exposição de portas 8 | 9 | 80 e 443 10 | 11 | 2. Volume (Obs: verificar se na configuração do docker -> drivers compartilhados, as unidades c: e/ou d: estão habilitadas) 12 | 13 | Aplicação: htdocs -> /var/www/html 14 | 15 | Logs: nginx/logs -> /var/log/nginx 16 | 17 | Virtual Host: nginx/sites -> /etc/nginx/conf.d 18 | 19 | 3. Virtual Host 20 | 21 | Criação do vhost modelo http://api.dev (vhost modificável) 22 | 23 | # Como utitilizar 24 | 25 | 1. Clone o repositório usando o comando: 26 | 27 | git clone https://github.com/danielnogueira-dev/Docker-Compose-Nginx 28 | 29 | 2. Entre na pasta Docker-Compose-Nginx e copie o arquivo env-example para .env. 30 | 31 | cp env-example .env 32 | 33 | 3. Rode seu container: 34 | 35 | docker-compose up -d 36 | 37 | 4. Adicione os domínios no arquivo de hosts do windows. 38 | 39 | 127.0.0.1 localhost 40 | 41 | 127.0.0.1 api.dev 42 | 43 | 5. Abra no navegador 44 | 45 | http://localhost 46 | 47 | http://api.dev 48 | 49 | 6. Acessar o shell do container: 50 | 51 | winpty docker exec -it nginx bash -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | nginx: 4 | container_name: nginx 5 | restart: always 6 | build: 7 | context: ./nginx 8 | dockerfile: Dockerfile 9 | volumes: 10 | - ${APPLICATION}:/var/www/html 11 | - ${NGINX_HOST_LOG_PATH}:/var/log/nginx 12 | - ${NGINX_SITES_PATH}:/etc/nginx/conf.d 13 | ports: 14 | - "${NGINX_HOST_HTTP_PORT}:80" 15 | - "${NGINX_HOST_HTTPS_PORT}:443" 16 | -------------------------------------------------------------------------------- /env-example: -------------------------------------------------------------------------------- 1 | #----------------------------# 2 | # Configuração das Variáveis # 3 | #----------------------------# 4 | 5 | #----------------------# 6 | # Caminho da Aplicação # 7 | #----------------------# 8 | APPLICATION=./htdocs 9 | 10 | #-----------------------------# 11 | # Customização dos Containers # 12 | #-----------------------------# 13 | 14 | #-------# 15 | # NGINX # 16 | #-------# 17 | NGINX_HOST_HTTP_PORT=80 18 | NGINX_HOST_HTTPS_PORT=443 19 | NGINX_HOST_LOG_PATH=./nginx/logs/ 20 | NGINX_SITES_PATH=./nginx/sites/ 21 | -------------------------------------------------------------------------------- /htdocs/50x.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |Sorry, the page you are looking for is currently unavailable.
16 | Please try again later.
If you are the system administrator of this resource then you should check 18 | the error log for details.
19 |Faithfully yours, nginx.
20 | 21 | 22 | -------------------------------------------------------------------------------- /htdocs/api.dev/public/50x.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |Sorry, the page you are looking for is currently unavailable.
16 | Please try again later.
If you are the system administrator of this resource then you should check 18 | the error log for details.
19 |Faithfully yours, nginx.
20 | 21 | 22 | -------------------------------------------------------------------------------- /htdocs/api.dev/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |If you see this page, the nginx web server is successfully installed and 16 | working. Further configuration is required.
17 | 18 |For online documentation and support please refer to
19 | nginx.org.
20 | Commercial support is available at
21 | nginx.com.
Thank you for using nginx.
24 | 25 | 26 | -------------------------------------------------------------------------------- /htdocs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |If you see this page, the nginx web server is successfully installed and 16 | working. Further configuration is required.
17 | 18 |For online documentation and support please refer to
19 | nginx.org.
20 | Commercial support is available at
21 | nginx.com.
Thank you for using nginx.
24 | 25 | 26 | -------------------------------------------------------------------------------- /nginx/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx:1.13.3 2 | 3 | MAINTAINER Daniel Nogueira