George
07.05.2019
07:03:27
а в параметрах сервиса - пара IP:port на котором оно слушает
либо 0.0.0.0:80, если нужно слушать везде
Максим
07.05.2019
07:05:02
Спасибо попробую.
Николай
07.05.2019
07:07:41
Что это?
root@nhealth:/var# docker run -it -p 80:80 --net="host" --privileged -v /var/site_demo:/var/www apache2_ufw_mysql_php_iit_ulimit /bin/sh
WARNING: Published ports are discarded when using host network mode
docker: Error response from daemon: error while creating mount source path '/var/site_demo': mkdir /var/site_demo: read-only file system.
Google
Алексей
07.05.2019
07:08:28
read-only file system же /var
Николай
07.05.2019
07:09:14
Так и home, а что тогда не read-only>
?
Алексей
07.05.2019
07:09:51
то что он read only это неправильно, надо исправлять
Николай
07.05.2019
07:10:08
chmod
Алексей
07.05.2019
07:10:12
самый тупой вариант - ребутнуть сервак
Sergey❄️
07.05.2019
07:10:16
ildar
07.05.2019
07:10:47
именно
Алексей
07.05.2019
07:10:51
https://askubuntu.com/questions/47538/how-to-make-read-only-file-system-writable
Robert
07.05.2019
07:14:22
Sergey
07.05.2019
08:00:08
Привет. Помогите разобраться с кластером swarm
Есть 3 виртуалки
1) Swarm manage
2) Swarm node (worker)
3) PostgresServer
Так вот, я запускаю некий stack в котором есть сервис - этот сервис коннектится к postgressql по локальному ip (локальный ip). Так вот
Если сервис запускается на manager ноде, то коннкет к постгресу проходит норм. Но если я запускаю на worker ноде, то пишет connect refuse (или как-то так и даже ниче не пингуется наверх)
Я создал нетворк для докера и его юзаю. Но всеравно оно не хочет соединяться с постгресом
Leo
07.05.2019
09:09:04
помогите разобраться для чего ваще нужен докер на проде?
Алексей
07.05.2019
09:10:26
чтобы удобно и быстро выкатывать обновления
Google
Leo
07.05.2019
09:10:52
чето вникнуть не могу в полезность)
Алексей
07.05.2019
09:11:27
выкатывал когда-то поделку разработчиков на 10 тачек, которое тащит за собой кучу зависимостей? )
хоть в одной из них пойдет не так - жопа
докер позволяет не парится, оттестил на стейдже, убедился что все работает, выкатил на нужное количество серверов и спокоен
Viktor
07.05.2019
09:13:28
Юра
07.05.2019
09:13:35
1. Простота выкатки
2. Повторяемость окружений (собрал 1 раз и везде работает одинаково)
3. Удобство управления
Алексей
07.05.2019
09:13:41
в окружении
зашел кто-то, поставил чтото в ос и пакет может не встать
Leo
07.05.2019
09:14:41
тоесть на примере пхп. могу разработать приложение и образ с кодом могу куда угодно закинуть и запустить?
Алексей
07.05.2019
09:15:01
угу
пхп правда плохой пример
там просто файлы и все
Leo
07.05.2019
09:16:07
понятно. значит можно с докером таскать все зависимости и запускать везде. код не поломается
Алексей
07.05.2019
09:16:46
да, берем образ, в него ставим все нужные зависимости, кладем файлы, потом на любой линуксовой тачке запускаем образ и получаем рабочий сайт
Leo
07.05.2019
09:17:04
а сайт может всегда в контейнере работать?
Алексей
07.05.2019
09:17:37
да, в контейнере поднимаешь nginx
Leo
07.05.2019
09:18:16
а с гитом можно работать? тоесть кидать с гита файлы в контейнер?
Алексей
07.05.2019
09:18:34
при сборке образа
клонируешь файлы и собираешь образ
Leo
07.05.2019
09:19:10
как я понял, создаешь папку отдельную от контейнера, потом указываешь на эту папку путь в контейнере и код будет браться с этой папки и запускаться в контейнере
Google
Алексей
07.05.2019
09:19:37
это не докер-подход, но работать будет
идеально, когда ты собираешь образ с нужной версией сайта
потом берешь этот образ и запускаешь где угодно
в твоем варианте, надо еще файлы таскать между серверами
неудобно
Leo
07.05.2019
09:20:40
теперь вроде немного стало понятно. сенкс за ответы
еще вопрос. работает сайт, каждый день на нем делаются изменения. добавляется функциональность. меняется дизайн, вообще докер для этого нужен?
локальный сайт - гитхаб - продакшн
Алексей
07.05.2019
09:22:51
когда разработчик для себя вносит изменения и проверяет работу, докер тут не нужен. Он нужен когда надо выкатывать на прод
если надо изменения вынести на сайт, то да, разработчик делает изменения, тестирует у себя, если есть ci/cd запускает по нему свои коммиты. Если нет, то в итоге должен собрать докер-образ, который должен будет попасть на прод
если есть потребность в частых выкатках, то надо смотреть в сторону ci/cd, оно для того и сделано
там один из этапов, это сбор докер-имеджа и создание на его основе контейнера на проде
Leo
07.05.2019
09:27:45
спасибо!
Марат
07.05.2019
09:33:47
всем привет, есть у кого-нибудь есть скрипт для проверки доступности redis? wait-for-redis.sh или что-то подобное?
George
07.05.2019
09:34:45
а не достаточно ли просто видеть его наличие ?
или nc -vz redis порт_редиса
и еще
нафига он нужен? если можно в компоузе 2.4 сделать depends_on: started?
Марат
07.05.2019
09:35:58
у меня DI для сервиса написан так что необходим redis изначально. При недоступности редиса сервис падает, но terminate его не происходит, поэтому сервис не перезапускается. Использую compose 3.4
George
07.05.2019
09:39:48
3.4 - только для сворма нужен
Google
George
07.05.2019
09:39:50
иначе см. выше
Myron
07.05.2019
09:44:19
народ ,если в докеркомпоузе задать статик IP для контейнера, после рестарта она слетает, как мне не терять конект бекенда к ДБ ?)
Alex
07.05.2019
09:45:42
Myron
07.05.2019
09:46:39
nodejs так будет видеть?
Alex
07.05.2019
09:49:43
Макс
07.05.2019
09:52:19
добрый день поскажите как наладить связь между контейнером с сервисом и контейнером с бд
Myron
07.05.2019
09:53:54
George
07.05.2019
09:54:33
Myron
07.05.2019
10:02:06
ad1
07.05.2019
13:32:06
Жил был volume по-имени example-volume-name и маунтили его через docker -v ...
Однажды решили маунтить через docker-compose. Но появился новый docker_example-volume-name volume,
который был пуст и ничего не содержал в себе. Апликухи падали и плакали.
Задались вопросом как примаутить правильно уже существующий volume в docker-compose?
Помогите, разобраться, плз.
George
07.05.2019
13:34:31
volume: external
и полетело
Nikolay
07.05.2019
13:42:21
у меня кстати тоже был и есть забавный момент, я хотел мигрировать сторейдж докера, поставленного через snap, на нормально установленный с репы, указал data-root, storage-driver и прочие прелести, докер завелся без проблем, контейнеры отображаются запускаются, и можно к ним приаттачиться. Можно делать всё, кроме остановки контейнера, при остановке выдает ошибку permission denied
ad1
07.05.2019
13:45:03
volume: external
И перестали плакать апликухи жили они долго и счастливо и было у них много много новых данных
спасибо!
Yan
07.05.2019
14:44:24
здравствуйте. у меня собирается докер образ на весьма дохленьком агенте. собирается он 11 минут, что мне кажется дохера. пытаюсь оптимизировать.
подскажите, пожалуйста, будет ли профит если я спилю мульти-стейдж билд?
а ещё буду очент презнателен за указание на годные с вашей точки зрения статьи/мануалы по оптимизации.
A1EF
07.05.2019
14:48:05
Не благодари:
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Vlad
07.05.2019
15:04:18
А есть какие либо мануалы по devops на русском?
А то тяжко буржуйский язык читать
George
07.05.2019
15:05:00
Надо учить
Google
George
07.05.2019
15:05:07
Иначе никак
Paruyr
07.05.2019
15:37:10
Как сделать многострочный AWK-скрипт в RUN?
George
07.05.2019
15:38:20
В смысле ?
Какие варианты пробовали ?
Paruyr
07.05.2019
15:43:50
Спасибо, я разобрался)
Протупил немного)
ildar
07.05.2019
15:46:21
Yan
07.05.2019
15:47:26
Dockerfile покажи. Только не картинкой
# Stage 1 - the build process
FROM mhart/alpine-node:10 as builder
ENV NODE_ENV=production
ENV HOST 0.0.0.0
WORKDIR /app
COPY ./ /app
RUN npm set progress=false && \
npm config set depth 0 && \
npm install && \
npm install --only=development
RUN npm run build
# Stage 2 - the production environment
FROM nginx:alpine
RUN apk add --no-cache nginx-mod-http-perl
COPY ./config/nginx.conf /etc/nginx/nginx.conf
COPY --from=builder /app/build /usr/share/nginx/html
EXPOSE 80
Alexandr
07.05.2019
15:59:51
Всем привет
У меня супер вопрос, кто то сталкивался с docker zombie comtainer???
Голову неделю ломаю, у меня плявляются зомби контейнеры, как их хотя бы убить кроме как ребут серва?
ildar
07.05.2019
16:03:39
Sviatoslav
07.05.2019
16:03:45
ildar
07.05.2019
16:03:55
Yan
07.05.2019
16:05:14
Sviatoslav
07.05.2019
16:05:22
Ето тебе дест прирост в том что докер не будет каждий раз ставить зависимости, а только если app.config изменится.