Ильдар
$ docker system prune WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all dangling build cache
Vladislav 👻
Ооо, видать где-то в последней добавили
Ильдар
@vizdrag
Dmitry
@vizdrag
кстати ты сказал, что докерфайл годный, а можешь глянуть докер-помпоуз? У меня есть пару скользких моментов для понимания
Dmitry
`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`
Dmitry
смущают воркеры, которые запускаются как экземпляры того докерфайла выше. То есть получается, что что у меня три джанги запущены. Может стоило бы эти образы удалить и как-то отправить из в саму джангу или всё норм?
Anonymous
Есть ЦП
Dmitry
Есть ЦП
поздравляю, какая модель? @vizdrag
Anonymous
George
4. расставь хелсчеки
George
слабо=(, не могу найти их
на кнопке с тильдой
Dmitry
по существу 1. билд нафиг не нужен. Собирай вне компоуза 2. volumes - нафиг не нужен, пихай код внутрь образа 3. используй формат докер-компоуза версии 2.7
1. То есть я отдельно собираю докерфайл а потом цепляю как image? 2. Это продолжение первого получается? 3. Почему
George
1. да, имиджи у всех укажешь одинаковые. 2. ты пихаешь код из каталога code внутрь образа. У тебя же код в продакшене меняться не будет? Не будет. Ты попросту передеплоишь образ целиком. Для отладки кода - да, удобнее через volume.
George
3. потому что в нем есть depends_on: healthy
George
в 3-м формате такого нет
Daniil 👉👈
3-й формат для сворма
Daniil 👉👈
2-ю и 3-ю версию надо воспринимать не как продолжение а как 2 параллельные ветки
Dmitry
2-ю и 3-ю версию надо воспринимать не как продолжение а как 2 параллельные ветки
depends_on: healthy - запускает образ после того, как предыдущий готов? вместо depends_on?
Dmitry
и еще - nginx я тащу за докер и ставлю на прямо на сервер?
Daniil 👉👈
nginx'а в докере достаточно
Daniil 👉👈
depends_on: healthy - запускает образ после того, как предыдущий готов? вместо depends_on?
version: '2.1' services: web: build: . depends_on: db: condition: service_healthy redis: condition: service_started redis: image: redis db: image: redis healthcheck: test: "exit 0"
Daniil 👉👈
пример depends_on
Sergey
Ты не про то подумал
что продаешь то? это по докеру чат
Artur
в ДО есть имейдж с готовым докером внутри, есть ноды для ранчера
Artur
спасибо
если заюзать k8, то и это недавно ввели
dmi
если заюзать k8, то и это недавно ввели
а что проще всего заюзать и поддерживать?
dmi
я никогда не трогал ни ранчер ни k8
Artur
ранчер это "веб морда" для k8
dmi
ого, спасибо ))
Дмитрий
На DO вводят кубернет в Limited Access
Wizard
Привет, учусь использовать Докер, помогите пожалуйста понять такой вопрос: мне нужно поднять 2 проекта hasura https://docs.hasura.io/1.0/graphql/manual/getting-started/docker-simple.html В каждой папке с проектом лежат 2 одинаковых docker-compose.yaml, при этом Докер создаёт 2 разных контейнера - с собственной БД на каждый проект. Как система понимает, какой контейнер принадлежит конкретному проекту и где можно явно задать имя контейнера? И сразу ещё вопрос: как перенести контейнер с локального хранилища на удалённый сервер? Что лучше почитать об этом?
Ivan
>Как система понимает, какой контейнер принадлежит конкретному проекту и где можно явно задать имя контейнера? Это задается в docker-compose.yml
Ivan
>И сразу ещё вопрос: как перенести контейнер с локального хранилища на удалённый сервер? Что лучше почитать об этом? Контейнер не перетащить
Artur
"Контейнер не перетащить" ну не совсем. всё таки это можно сделать
Artur
commit,save,run
Wizard
>Как система понимает, какой контейнер принадлежит конкретному проекту и где можно явно задать имя контейнера? Это задается в docker-compose.yml
Контейнер переименовал, но это не помогает определять контейнер для проекта. Если запустить этот файл из другой папки, получаю ошибку: ERROR: for postgres Cannot create container for service postgres: Conflict The container name "" is already in use by container "". You have to remove (or rename) that container to beable to reuse that name.
Ivan
commit,save,run
Перемещать образ это другое. docker commit, save - это только про образа
Wizard
Нельзя использовать одинаковые имена для контейнеров
Так мне нужно использовать тот же контейнер в другом проекте, а не создавать новый. Как это сделать?
Ivan
Так мне нужно использовать тот же контейнер в другом проекте, а не создавать новый. Как это сделать?
В докере нет понятия "проект". Есть образ, контейнер, сеть etc... пожалуйста, чтобы быть понятнее пользуйтесь правильной терминологией
Wizard
В докере нет понятия "проект". Есть образ, контейнер, сеть etc... пожалуйста, чтобы быть понятнее пользуйтесь правильной терминологией
Короче, я запускаю этот docker-compose.yaml из другой папки, а не в которой инициализировал первый раз, и хочу запустить тот же контейнер, а не вызвать попытку создать новый контейнер с тем же именем
Wizard
Извиняюсь за путаницу в терминах, я правда могу в них ошибиться
Artur
Dmitry
Короче, я запускаю этот docker-compose.yaml из другой папки, а не в которой инициализировал первый раз, и хочу запустить тот же контейнер, а не вызвать попытку создать новый контейнер с тем же именем
есть образы, есть контейнеры. компоуз используется для управления запуском нескольких образов в контейнерах. То есть у тебя есть один проект на пхп в образе и ты можешь запустить его в 10 контейнерах. А компоуз - для того, чтобы например запустить два контейнера вместе, например пхп+постгре
Sergey
у тебя 1 хост?
Sergey
чем отличаются два проекта?
Wizard
Речь про локальный хост. Отличается например тем, чтобы просто переместить его в другую папку.
Wizard
Использую стандартную настройку от Hasura: https://raw.githubusercontent.com/hasura/graphql-engine/master/install-manifests/docker-compose/docker-compose.yaml
Dmitry
docker images ls даст тебе список существующих образов
Dmitry
потом docker run название образа
Dmitry
с ключами в зависимости от того, что ты с ними хочешь сделать
Ильдар
commit,save,run
это для образов. import/export для контейнеров.
Oleg
не подскажете, как добавить докер в проект? нашёл это в меню веб шторма.
Wizard
Сформулируй понятно, чего ты хочешь добиться в итоге?
Чтобы перенесённый в другую папку docker-compose.yaml на команду "docker-compose up" запускал нужный контейнер, а не пытался создать новый
Wizard
зачем?
Чтобы использовать БД с уже имеющейся информацией
Zakhar
Чтобы перенесённый в другую папку docker-compose.yaml на команду "docker-compose up" запускал нужный контейнер, а не пытался создать новый
в теории такое возможно сделать с помощью флага -p -p, --project-name NAME Specify an alternate project name (default: directory name) но это будет сильно костыльным вариантом, лучше монтировать данные базы на хостовую ФС, а затем эти же данные во второй контейнер
Oleg
ЛЮДИ, есть у кого ниб контейнер с ЯндексТанком версии 1.7?
Oleg
pull не работает(
Alexandr
Всем привет
Alexandr
помогите ктонить с такой байдой 1/1: no suitable node (scheduling constraints not satisfied on 1 node)
Alexandr
Это я пытаюсь https://github.com/docker/dockercloud-haproxy запустить
Alexandr
из за строчки —constraint "node.role != manager» Он мне пишет эту no sutable node
Alexandr
Может кто рассказать что это ваще за констринты и нафига они тут нужны?
Daniil 👉👈
эта штука нужна для докер сварма
Daniil 👉👈
этот параметр означает где ты запускаешь этот контейнер в твоем случае этот параметр значит что контейнер должен на лидере сворма запускаться