@docker_ru

Страница 514 из 1375
Alexander
13.03.2018
16:34:26
Сделал docker build. Как теперь посмотреть, что за RUN там был? Или может вообще весь Dockerfile можно увидеть?

shadowjack
13.03.2018
16:38:15
наверное docker image inspect что-то покажет

Vladislav
13.03.2018
16:39:52
Привет друзья, запускаю тесты внутри докера - получаю ошибку: /winston-platform/node_modules/istanbul/lib/command/cover.js:132 throw err; ^ Error: EPERM: operation not permitted, scandir '/proc/14/map_files/2195000-21b0000' Структура сервиса: services : # Tests tests : extends : file : docker-compose.yml service : core container_name : winston_dev_tests env_file : - ./run/env/test/.env volumes : - ./:/winston-platform image : node:9 command : bash ./winston-platform/run/env/test/run_tests.sh depends_on : - database - cache - search - secret - static_assets Можно было бы, конено, разбираться зачем вообще нужен доступ к /proc/ тестовому окружению, но нельзя ли просто как-то "добавить" ему прав чтобы избежать этой ошибки по-быстрому ? Спасибо большое.

shadowjack
13.03.2018
16:41:47
Ну процессы от рута по дефолту запускаются, и proc проброшен внутрь.

Google
Vladislav
13.03.2018
16:42:58
у стартового скрипта, к примеру (run_tests.sh) нет прав на то чтобы поменять права для /proc Пробовал еще делать докерфайл, но оно ругается: Service tests has neither an image nor a build context specified. At least one must be provided. (однако я и то и то написал) Моя задача как-то перенести тесты внутрь докера.

Alexander
13.03.2018
16:55:11
наверное docker image inspect что-то покажет
Попробовал docker inspect image в самого начала и... проглядел. И правда показало. ContainerConfig -> Cmd

Dmitriy
13.03.2018
20:32:56
Подскажите пожалуйста в docker swarm. Как можно сделать что запросы outbound (в интернет), шли с worker ip адреса если даже запрос идет с manager? Я с сетями на вы)

bykva
13.03.2018
21:36:30
Вечер добрый! Не подскажете как корретно решать проблему? задвал вопрос на stackoverflow: https://stackoverflow.com/questions/49245628/how-to-execute-an-argument-in-kubernetes точнее, я проблему уже решил, а как это нужно было сделать правильно? я создаю job после установки helm'ом, который дергает скрипт настройки базы после ее установки

Anton
13.03.2018
21:37:48
Возможно, этот вопрос лучше задать в @kubernetes_ru.

bykva
13.03.2018
21:38:21
Михаил
14.03.2018
07:59:31
Привет! Подскажите, как запустить два джанго контейнера так чтобы они могли посылать друг другу запросы по http?

Анатолий
14.03.2018
08:00:11
открой 80 порт

и обращайся по именам - http://jango1/ http://jango2/

Artem
14.03.2018
08:00:41
зачем открывать 80 порт?

Михаил
14.03.2018
08:00:44
открой 80 порт
Момент, покажу свой docker-compose.yml

Анатолий
14.03.2018
08:00:53
он хочет по http..

Artem
14.03.2018
08:00:59
и?

Google
Artem
14.03.2018
08:01:04
в композе они в одной сети и так

все порты между собой открыты

ничего дополнительно делать ненадо

Михаил
14.03.2018
08:01:26
version: '3' services: web_1: build: context: . dockerfile: Dockerfile environment: - MIRROR_HOSTNAME=http://web-2:9000 hostname: web-1 command: bash -c "python manage.py collectstatic --noinput && \ python manage.py migrate --noinput && \ python manage.py runserver 0.0.0.0:8000" ports: - "8000:8000" links: - web_2 web_2: build: context: . dockerfile: Dockerfile hostname: web-1 command: bash -c "python manage.py collectstatic --noinput && \ python manage.py migrate --noinput && \ python manage.py runserver 0.0.0.0:8000" environment: - MIRROR_URI=http://web-1:8000 ports: - "9000:8000" links: - web_1

Так говорит что circular dependency error

Artem
14.03.2018
08:01:52
compose 3 links....?

Анатолий
14.03.2018
08:02:01
=)

network же надо

перечитай доку по links - это не совсем так работает как ты думаешь

Dmitriy
14.03.2018
08:02:50
compose 3 links....?
depends_on же?

Анатолий
14.03.2018
08:03:50
совсем всё перепутал. начни заново, читай актуальную (!) доку и собирай файл

Михаил
14.03.2018
08:03:51
Как нужно по евангелие?

Анатолий
14.03.2018
08:04:41
Как нужно по евангелие?
network - почитай доку по сетям

Михаил
14.03.2018
08:05:18
network - почитай доку по сетям
ок, спасибо за наводку!

Евгений
14.03.2018
08:06:52
Как нужно по евангелие?
Не использовать links

Михаил
14.03.2018
08:07:21
Не использовать links
Спасибо, братан :)

Михаил
14.03.2018
08:14:03
network - почитай доку по сетям
сети тут какие будут, через host?

Google
Михаил
14.03.2018
08:17:39
Что то ясности не прибавилось

compose 3 links....?
Эй, Артем, какие сети будут в такой конфигурации?

Artem
14.03.2018
08:20:02
убери линкс

у тебя между собой итак будут доступны по именам сервисов

компоуз создает их в одной сети при поднятии

Михаил
14.03.2018
08:20:40
убери линкс
Да убрал уже, заново поставил и еще раз успел убрать. Сети-то какие?

Artem
14.03.2018
08:20:59
ну по названию директории в которой компоуз по умолчанию

docker network глянь

Михаил
14.03.2018
08:21:48
docker network глянь
Глянул, на что конкретно смотреть?

Artem
14.03.2018
08:22:09
да ничего не смотри, осознай как этой работает и запускай свое приложение

убери линкс и обращайся своими приложениями друг к другу по http://web1 и web2

Михаил
14.03.2018
08:41:30
убери линкс и обращайся своими приложениями друг к другу по http://web1 и web2
Контейнеры запустились, но user@web-1:/app$ curl http://web-2 curl: (6) Could not resolve host: web-2

убери линкс и обращайся своими приложениями друг к другу по http://web1 и web2
Все в порядке, имя хоста вместо хайфена андерскор

Спасибо!

Artem
14.03.2018
08:46:51
?

Nurik
14.03.2018
09:51:44
Всем привет. Ребят подскажите, а инструкция в Dockerfile : VOLUME ["/data"] Создаем VOLUME и если уничтожить контейнер, то он удаляется вместе с ним ? Просто есть задача отдавать nginx контейнеру статику (js,css) из контейнера с php приложением. Пробовал делать через docker-compose с помощью ответа вот отсюда: https://github.com/docker/compose/issues/3211 Но волюм —вечный и соотвественно, если убить контейнер то при повторном запуске, файлы монтируются из него. А мне нужно чтобы волюм был временный и удалялся с удалением контейнера.

Есть какое-то общее решение задачи, отдавать контейнеру nginx статику js, css, которая находится внутри контейнера с php приложением ?

Алексей
14.03.2018
10:02:21
Location же в нжинксе есть

Nurik
14.03.2018
10:07:35
Location же в нжинксе есть
Можно плиз развернутый ответ. Я не понимаю, как location поможет решить проблему, озвученную выше.

Google
Алексей
14.03.2018
10:18:36
обычный try_files

Dmitriy
14.03.2018
10:19:42
Есть какое-то общее решение задачи, отдавать контейнеру nginx статику js, css, которая находится внутри контейнера с php приложением ?
ИМХО, нужно билдить image nginx со статикой. Если захочется использовать swarm, то там маунтить volumes будет проблема

FROM nginx as production COPY --from=registry:4555/production:latest /app/public /app/public/

Довольно быстро и не нужно париться с volumes

Алексей
14.03.2018
10:22:11


Ну вот мой образ для статики к скрину выше

Nurik
14.03.2018
10:27:51
ИМХО, нужно билдить image nginx со статикой. Если захочется использовать swarm, то там маунтить volumes будет проблема
Тогда в этом случае, другие приложения использующие nginx будут лежать. Пока апдейтится сервис. Это неприемлимо в моем случае.

Нашёл решение. Спасибо за внимание. docker service update --mount-add type=volume,source=admin-volume,target=/usr/src/admin-app

Dmitriy
14.03.2018
10:35:24
Тогда в этом случае, другие приложения использующие nginx будут лежать. Пока апдейтится сервис. Это неприемлимо в моем случае.
? можно же одновременно траффик перенаправить. поднять новую версию и потом на новую версию перенаправить. Пока правда не делал такое)

Nurik
14.03.2018
10:37:00
nginx-proxy / traefik?
Сорри, не слышал про них. Буду изучать вопрос.

Dmitriy
14.03.2018
10:38:45
nginx-proxy / traefik?
traefik для меня к сожалению не подходит, brotli нет. А в nginx-proxy не вижу смысла в swarm. Что он решает?

Nurik
14.03.2018
10:40:26
? можно же одновременно траффик перенаправить. поднять новую версию и потом на новую версию перенаправить. Пока правда не делал такое)
Я вот хз, чем это лучше, чем просто обновить volume, в котором файлы, которые юзает nginx. Возможно есть подводные камни. Но мне кажется твоё решение трудозатратнее. Но возможно есть преимущества, о которых я пока не знаю.

Dmitriy
14.03.2018
10:42:02
Я вот хз, чем это лучше, чем просто обновить volume, в котором файлы, которые юзает nginx. Возможно есть подводные камни. Но мне кажется твоё решение трудозатратнее. Но возможно есть преимущества, о которых я пока не знаю.
Если несколько серверов, в случае swarm то на всех нодах нужны эти файлы. А маунтить volume из другого контейнера это боль, и вроде как вообще не работает в docker-compose v3

Nurik
14.03.2018
10:47:02
Если несколько серверов, в случае swarm то на всех нодах нужны эти файлы. А маунтить volume из другого контейнера это боль, и вроде как вообще не работает в docker-compose v3
Вот тут описывается процесс монтирования фалов в volume из контейнера. А потмо его можно юзать в nginx https://github.com/docker/compose/issues/3211 А где можно почитать про то что ты описываешь ? Я так понимаю штука которую ты описал ответом выше, понадобится, если в nginx нужно вносить изменения и параллельно перенаправить траффик на рабочий контейнер с nginx. А если он апнулся и все норм, но перенаправить трафик обратно ?

Dmitriy
14.03.2018
10:50:04
Еще раз, в #3211 описывается volumes_from, которого в docker-compose v3 нет

https://stackoverflow.com/questions/42232051/docker-compose-volumes-from-equivalent-with-version-3

Про деплой, надо гуглить blue green deployment docker swarm. Прям ссылки ща нет. Я пока не успел сделать по хорошему такой деплой)

Nurik
14.03.2018
10:55:32
Еще раз, в #3211 описывается volumes_from, которого в docker-compose v3 нет
Там ниже решение. services: mysql: volumes: - datavolume:/var/run/mysqld app: volumes: - datavolume:/var/run/mysqld volumes: datavolume: {}

Dmitriy
14.03.2018
10:56:55
Ага, в теории может и должно работать, у меня были проблемы.

Google
Nurik
14.03.2018
10:57:14
Там ниже решение. services: mysql: volumes: - datavolume:/var/run/mysqld app: volumes: - datavolume:/var/run/mysqld volumes: datavolume: {}
У меня была проблема, которую описывает чувак I encounter kind of the same problem and the thing is that the datavolume is not a solution for me as the files do not get overridden by a new version. Так вот, она решается с помощью команды выше.

Dmitriy
14.03.2018
10:57:14
Не могу вспомнить в чем конкретная причина)

Страница 514 из 1375