Dmitry
25.01.2019
08:02:31
@vizdrag
кстати ты сказал, что докерфайл годный, а можешь глянуть докер-помпоуз? У меня есть пару скользких моментов для понимания
George
25.01.2019
08:02:49
Dmitry
25.01.2019
08:04:04
`version: '3'
services:
db:
image: geographica/postgis
ports:
- "5432:5432"
environment:
- POSTGRES_PASSWD=postgres
web:
build: .
container_name: loggie-django
restart: on-failure
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
rabbit:
hostname: rabbit
image: rabbitmq:latest
container_name: loggie-rabbit
environment:
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_PASS=mypass
ports:
- "5672:5672"
worker:
build: .
restart: on-failure
container_name: loggie-celery
command: celery -A Loggie worker -l INFO
volumes:
- .:/code
depends_on:
- rabbit
- db
worker-beat:
build: .
restart: on-failure
container_name: loggie-celery-beat
command: celery -A Loggie beat -l INFO
volumes:
- .:/code
depends_on:
- rabbit
- db`
смущают воркеры, которые запускаются как экземпляры того докерфайла выше. То есть получается, что что у меня три джанги запущены. Может стоило бы эти образы удалить и как-то отправить из в саму джангу или всё норм?
Google
Артём
25.01.2019
08:05:23
Есть ЦП
Dmitry
25.01.2019
08:05:59
Есть ЦП
поздравляю, какая модель? @vizdrag
Артём
25.01.2019
08:06:54
George
25.01.2019
08:29:43
Dmitry
25.01.2019
08:31:48
George
25.01.2019
08:32:06
4. расставь хелсчеки
Dmitry
25.01.2019
08:32:46
George
25.01.2019
08:34:43
1. да, имиджи у всех укажешь одинаковые.
2. ты пихаешь код из каталога code внутрь образа. У тебя же код в продакшене меняться не будет? Не будет. Ты попросту передеплоишь образ целиком. Для отладки кода - да, удобнее через volume.
3. потому что в нем есть depends_on: healthy
в 3-м формате такого нет
Google
Даниил Кивенко
25.01.2019
08:35:28
3-й формат для сворма
Dmitry
25.01.2019
08:35:56
Даниил Кивенко
25.01.2019
08:35:56
2-ю и 3-ю версию надо воспринимать не как продолжение а как 2 параллельные ветки
George
25.01.2019
08:36:10
Dmitry
25.01.2019
08:36:56
и еще - nginx я тащу за докер и ставлю на прямо на сервер?
Даниил Кивенко
25.01.2019
08:38:07
nginx'а в докере достаточно
пример depends_on
Dmitry
25.01.2019
08:39:59
Dmitry
25.01.2019
09:12:37
добрый день. у меня есть php приложение, pgsql, redis... работает на обычной впс на centos. локально разрабатываю в докере. задача. научиться быстро разварачивать и маштабировать приложение. в какую сторону смотреть? просто на впс разворачивать через docker-compose? rancher, minikube? на digital oceanе и aws есть какие-то доп плюшки для работы с докер контейнерами? мб их стоит заюзать? поделитесь опытом.
Sergey
25.01.2019
09:17:17
Artur
25.01.2019
09:18:21
Dmitry
25.01.2019
09:20:32
Artur
25.01.2019
09:21:49
спасибо
если заюзать k8, то и это недавно ввели
Dmitry
25.01.2019
09:22:28
я никогда не трогал ни ранчер ни k8
Artur
25.01.2019
09:23:08
ранчер это "веб морда" для k8
Dmitry
25.01.2019
09:23:27
ого, спасибо ))
Дмитрий
25.01.2019
09:27:07
Google
Виталий
25.01.2019
09:46:26
Привет, учусь использовать Докер, помогите пожалуйста понять такой вопрос: мне нужно поднять 2 проекта hasura
https://docs.hasura.io/1.0/graphql/manual/getting-started/docker-simple.html
В каждой папке с проектом лежат 2 одинаковых docker-compose.yaml, при этом Докер создаёт 2 разных контейнера - с собственной БД на каждый проект.
Как система понимает, какой контейнер принадлежит конкретному проекту и где можно явно задать имя контейнера?
И сразу ещё вопрос: как перенести контейнер с локального хранилища на удалённый сервер? Что лучше почитать об этом?
Ivan
25.01.2019
09:49:02
>Как система понимает, какой контейнер принадлежит конкретному проекту и где можно явно задать имя контейнера?
Это задается в docker-compose.yml
>И сразу ещё вопрос: как перенести контейнер с локального хранилища на удалённый сервер? Что лучше почитать об этом?
Контейнер не перетащить
Artur
25.01.2019
09:51:43
"Контейнер не перетащить"
ну не совсем.
всё таки это можно сделать
commit,save,run
Виталий
25.01.2019
10:15:03
Ivan
25.01.2019
10:16:32
commit,save,run
Перемещать образ это другое. docker commit, save - это только про образа
Виталий
25.01.2019
10:17:20
Ivan
25.01.2019
10:18:44
Artur
25.01.2019
10:19:23
Ivan
25.01.2019
10:20:08
Виталий
25.01.2019
10:20:22
Извиняюсь за путаницу в терминах, я правда могу в них ошибиться
Dmitry
25.01.2019
10:24:27
Sergey
25.01.2019
10:29:02
у тебя 1 хост?
чем отличаются два проекта?
Виталий
25.01.2019
10:29:59
Речь про локальный хост. Отличается например тем, чтобы просто переместить его в другую папку.
Использую стандартную настройку от Hasura:
https://raw.githubusercontent.com/hasura/graphql-engine/master/install-manifests/docker-compose/docker-compose.yaml
Dmitry
25.01.2019
10:33:54
docker images ls даст тебе список существующих образов
Google
Dmitry
25.01.2019
10:35:00
потом docker run название образа
с ключами в зависимости от того, что ты с ними хочешь сделать
ildar
25.01.2019
11:24:28
OlegBrony
25.01.2019
11:26:08
Виталий
25.01.2019
11:26:50
ildar
25.01.2019
11:27:07
Виталий
25.01.2019
11:28:06
зачем?
Чтобы использовать БД с уже имеющейся информацией
Zakhar
25.01.2019
11:30:35
ildar
25.01.2019
11:31:48
Oleg
25.01.2019
12:59:48
ЛЮДИ, есть у кого ниб контейнер с ЯндексТанком версии 1.7?
pull не работает(
Alexandr
25.01.2019
13:38:04
Всем привет
помогите ктонить с такой байдой 1/1: no suitable node (scheduling constraints not satisfied on 1 node)
Это я пытаюсь https://github.com/docker/dockercloud-haproxy запустить
из за строчки —constraint "node.role != manager» Он мне пишет эту no sutable node
Может кто рассказать что это ваще за констринты и нафига они тут нужны?
Даниил Кивенко
25.01.2019
13:39:49
эта штука нужна для докер сварма
этот параметр означает где ты запускаешь этот контейнер в твоем случае этот параметр значит что контейнер должен на лидере сворма запускаться
видимо у тебя не сворм ?
Google
Alexandr
25.01.2019
13:41:22
в том то и дело что сварм
без этой строчки кстати все работает
Даниил Кивенко
25.01.2019
13:42:19
наоборот, строчка означает что надо запускать везде кроме лидера
Alexandr
25.01.2019
13:42:45
аааа теперь я понял
у меня 1 нодовый сварм
все спасибо почаны я врубился
[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
25.01.2019
14:27:55
И снова я про всякие кэши, слои и вольюмы.
В докере делаю `npm build`оказывается, оно не ребилдит нифига, даже если исходиники поменялись. Поэтому если до сборки в контейнере и вообще до запуска докера, удалить каталог ./build, то внезапно изменения появляются в билде.
Первое, что я решил сделать, это прямо в докер файле перед шагом сборки делать удаление каталога
ARG backend_url='= "http://127.0.0.1:8000/graphql";'
WORKDIR /build
ADD ./ /build
RUN rm -rf build/build
RUN pwd; ls -l /build/; ls -l ./src/utils/const/
RUN /bin/bash -c "sed -ie 's|=.*|$backend_url|g' ./src/utils/const/api.js"
RUN npm install
RUN npm run build
Но это нифига не помогло, видимо удаление произошло только в каком-то слое или ещё какая-то магия случилась, но моих изменений в билде не оказалось.
При этом если до запуска докера удалить этот каталог вручную, то всё нормально.
В связи с этим вопрос, как правильно чистить этот кэш сборки при запуске контейнера? Не хочется для этого ещё какой-то внешний баш-скрипт прикостыливать.
Timur
25.01.2019
14:49:42
Доброго времени суток
Подкажите поиз по организации сети macvlan
чтобы ip прибитый к контейнеру пинговался с о всего L2 домена
есть мануал
https://docs.docker.com/v17.09/engine/userguide/networking/get-started-macvlan/#pre-requisites