Docker в development окружение
- 3. Dockerfile
FROM ruby:2.2.0
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /app
WORKDIR /app
ADD Gemfile /app/Gemfile
ADD Gemfile.lock /app/Gemfile.lock
RUN bundle install
ADD . /app
EXPOSE 3000
CMD ['bundle', 'exec', 'rails', 's', '-p', '3000']
- 5. Как работа выглядит для разработчика?
Запуск сервисов
docker-compose up
Изменения в Gemfile
docker-compose build api.service.dev
- 6. Как организовать мульти домены?
docker pull jwilder/nginx-proxy
автоматический proxy-pass после запуска
DOMAINS
admin.service.dev:80
api.service.dev:80
billing.service.dev:80
lk.service.dev:80
- 10. Как работать с образами?
hub.docker.com
public repo
private repo
private images store
ОpenSource registry v2
SAAS - продукты.
docker push asigatchov/backend:v1.0.1
- 11. Как вызывать привычные команды?
source 'https://rubygems.org'
gem 'rails', '4.2.0'
touch Gemfile.lock
docker-compose run web rails new . --force --database=mysql --skip-bundle
- 12. Rails App
rake or rails c
docker-compose run web rake db:migrate
docker-compose run web rails c
Работа с базой
docker-compose run db mysqldump my_db > /home/user/db.sql
- 13. Как зайти в контейнер?
НЕТ ssh
docker exec -it name_my_container bash - если контейнер именнован
docker exec -it 82687908627 bash - найдя его в docker ps
- 15. Проблемы?
- Нет!
Docker это легко?
Нехватка знаний по работе OS, сервисов и компонентов
взлом сервиса по недосмотру
Во всех проблемах начинаешь винить docker
- 16. Где найти больше информации
docs.docker.com
youtube.com - search=docker
https://telegram.me/docker_ru
http://сигачев.рф/posts/81 :-)
- 17. Планы:
Запустить CI сервис для автоматических сборок
Организовать возможность выкатки нескольких версий 5054.staging.*
swarm cluster или kubernetes (системы оркестрации)