Docker for admins
-
Upload
valentin-nastenko -
Category
Technology
-
view
51 -
download
0
Transcript of Docker for admins
Наша боль
Ворох устаревших зависимостей на неподдерживаемой операционке.
“Грязная” система
“Быстрое” масштабирование
Обратная совместимость
Незаменимый админ полубог
№1 Add more servers?
Дорого и долго (эксплуатация, поломки)
Уникальные “сервера снежинки”
Скрытые связи частей приложений
Устаревание “железа”
Система управления конфигурациями
Админы (больше и разных)
№2 Virtual Machines
Ворох “тупых” VDS и странных панелей
Дорогие IasS и PaaS с гарантированным Vendor lock in (AWS, GAE, Azure)
“Заточенные” админы
Радуга окружений и конфигураций (dev, test, stage, uat, production)
Проблема у “облака” = проблема у всех
№3 Containers
Один контейнер - одна задача
Иммутабельность
Изоляция и управление ресурсами
Ментальный переход к микроархитектуре и микросервисам
Скорость, стабильность, качественно и дешево
Glossary
Docker engine
Docker image
Docker container
Docker registry
https://docs.docker.com/engine/reference/glossary/
Docker Container Anti Patterns
1. Data or logs in containers2. IP addresses of container3. Don’t try to start multiple processes4. Don’t use docker exec5. Keep your image clean6. Create image from a running container7. Security credentials in Docker image8. Don’t use latest tag 9. Don’t use different images, or even different tags in
dev, test, staging and production environment10.Don’t use -P to publish all the exposed ports.
Docker compose
web: restart: always build: ./web expose: - "8000" links: - postgres:postgres volumes: - /usr/src/app/static env_file: .env command: /usr/local/bin/gunicorn -w 2 -b :8000 app:app
nginx: restart: always image: nginx:1.10.2 ports: - "80:80" volumes: - /www/static volumes_from: - web links: - web:web
………………………...
$ docker-compose up -dCreating orchestratingdocker_data_1...Creating orchestratingdocker_postgres_1...Creating orchestratingdocker_web_1...Creating orchestratingdocker_nginx_1…$ docker-compose scale web=2