Шпаргалка по docker
DO guide-1
DO - How To Secure a Containerized Node.js Application with Nginx, Let's Encrypt, and Docker Compose
Как установить Nginx в Ubuntu 18.04
docker-machine start default
docker-compose up --build
docker ps -a
--- посмотреть запущеные контейнеры
docker run -it <container_name>
--- запуск контейнера по идентефикатору
docker inspect app_nginx_1 | grep IPAddress | cut -d '"' -f 4
--- узнать ip nginx
docker exec -it <id of container> bash
--- зайти в контейнер и запустить bash
- api -- сервис
- bin --- находятся скрипты для запуска docker
- database -- база данных
- logs -- логи доступа и ошибки nginx
- nginx -- конфигурация прокси-сервера
- static -- статичные файлы (стили, шрифты, скрипты, картинки ...)
- web -- приложение
Run your development environment with a single command using docker-compose 🚀. This repository was boarn with aim to share how simple development environment could be with docker-compose. If you ever had to perform 100 steps to run a new project you will like this a lot. You could read more on the problem in this blog post.
- 🔥 Simple project start run your development evnrionment with a single command
- 🙀 Environment agnostic with docker-compose you can run your project on Mac, Windows or Linux environments without any issues.
- ️⚡️ Multi-language projects choose whatever language you need to solve the problem, but keep development environment easy for developers.
./bin/start.sh
— starts entire application
./bin/run-tests.sh
— runs tests using docker-compose
The repository consists 4 demo-purpose independent services:
- Landing - a landing site
- Web - a simple frontend that serves client side assets for React application and do some server side rendering.
- Api - a restful api.
- Admin - an admin site
For learning purpose just pay attention to the following files:
Dockerfile.dev used to run every project on local environment. There are two reasons for using separate dockerfile for local environments:
- To run application using Nodemon, which automatically restart application on code change. (same can be achieved by overriding
command
in docker-compose.yml) - Production Docker files has
npm run build && npm prune --production
. That needed to keep your Docker images smaller, by removing devDependencies afterbuild
step has been completed. In this step you would typically use Webpack, Gulp or any other bundlers / task runners.
If image size is not an issue - I would recommend to keep same Dockerfile for both development and production environments. You might also want to look into this discussion