Ilya
14.11.2018
08:36:56
ildar
14.11.2018
08:38:41
Ilya
14.11.2018
08:39:12
там компилится левенштейн, мб из-за muslc медленнее
вообще докерфайл стремноват
Google
Maxim
14.11.2018
09:12:30
привет! как можно дождатся в скрипте запуск докер контейнера? docker run -d -p 27017:27017 -v ~/data:/data/db --name=gokada-mongo-test mongo &&
npx mocha --exit --timeout 5000 -r dotenv/config ./tests/controllers/ dotenv_config_path=.testing.env &&
docker rm -f gokada-mongo-test ?
может флаг какой-то есть?
пока ставлю sleep 10s перед запуском тестов, но может есть более адекватное решение
steve
14.11.2018
09:17:10
Alexander
14.11.2018
10:09:57
Anton
14.11.2018
10:55:17
Ребзи, можно ли примонтировать папку хоста к контейнеру в котором уже есть эта папка но с другим контентом? На данный момент папка пустая, даже без исходного контента
Oleg
14.11.2018
11:03:05
Rustam
14.11.2018
11:14:41
как можно помотреть содержимое контейнера без запуска и вообще это реально?
Dmitry
14.11.2018
11:15:16
docker export
Ivan
14.11.2018
11:21:57
O
14.11.2018
11:26:51
Привет, смотрю легаси скрипт запуска контейнеров ,
там почему-то стопается и стартует
docker-compose после изменения файла внутри контейнера.
Вопрос, можно ли это как-то оптимизировать,
т.е. не переранивать docker-compose заново после изменения чего-либо?
`docker exec -i container_name <<EOF
sed -i "s/old/$IPADDRESS/g" script.js
EOF
docker-compose -f 1.yml stop
docker-compose -f 1.yml up -d --no-recreate`
Не спрашивайте. что делает script.js,
но он как-то должен устанаваливать соединение с другим контейнером
Dmitry
14.11.2018
11:28:29
Google
Maxim
14.11.2018
11:28:58
Vladimir
14.11.2018
11:38:52
Ребят, а как выполнить cmd так, чтобы контейнер не завершился после выполнения sh скрипта?
Dmitry
14.11.2018
11:39:44
exec
O
14.11.2018
11:40:05
docker exec -ti container_name bash
Dmitry
14.11.2018
11:41:39
Не городить подобные скрипты)
O
14.11.2018
11:43:25
Konstantin
14.11.2018
11:49:39
Dmitry
14.11.2018
11:59:49
Я не знаю что там внутри но выглядит так, словно не осилили билд нормальный с пробросом параметров нормальым
O
14.11.2018
12:10:30
для чего там замена адреса?
это инстал. скрипт, юзер вводит реальный адрес хоста, этот адрес прописывается в файлик и используется сервисом внутри контейнера. Понятно, что нужно копать внутри контейнера, но я вот пытаюсь понять, зачем такой костыль с рестартом контейнера 2мя компоусами нужен. Спросил, т.к. не знаю в каких случаях рестарт помогает. Буду тестить дальше...)
Konstantin
14.11.2018
12:13:23
Dmitry
14.11.2018
12:15:44
есть переменные окружения
Rustam
14.11.2018
12:17:22
подскажите когда я прописываю в volumes - ./:/app в docker-compose файле у меня не создается директоия app внутри контейнера. С чем это может быть связано
O
14.11.2018
12:18:10
есть переменные окружения
спс, гляну build-args, переменные используются, забыл сказать, это уже готовые имиджи на стороне кастомера (свои особенности), во время запуска инстал. скрипта стартуют
Dmitry
14.11.2018
12:19:18
сделай скрипт внутри контейнера
и запускай его
типа
docker exec containername setup
O
14.11.2018
12:21:40
Google
Dmitry
14.11.2018
12:22:40
вообще, внутренности контейнера доступны всегда и не прямо секурны
так что поставляйте с докерфайлами спокойно
и пусть клиент билдит - всё настраивается под него, а затем просто запускает
Rustam
14.11.2018
12:24:05
подскажите когда я прописываю в volumes - ./:/app в docker-compose файле у меня не создается директоия app внутри контейнера. С чем это может быть связано
O
14.11.2018
12:24:34
Dmitry
14.11.2018
12:26:24
Rustam
14.11.2018
12:26:32
build
docker-compose build
Dmitry
14.11.2018
12:27:13
вот ответ на твой вопрос)
Rustam
14.11.2018
12:27:31
не понял
Dmitry
14.11.2018
12:27:41
волюмы доступны во время работы контейнера но не во время билда.
Рустам
14.11.2018
12:29:27
Rustam
14.11.2018
12:29:44
но у меня в соседнем проекте тоже самое работает.
ТО естьу меня качается образ. Во время билда я вывожу инфу о директориях. Там нет нужной папки. Прописываю volumes, запускаю снова build и у меня создается директория
Dmitry
14.11.2018
12:31:09
такого не может быть) ты что-то упускаешь
Yevhen
14.11.2018
12:43:43
O
14.11.2018
12:47:25
по моему вопросу, вот более наглядный пример, внутри одного из контейнеров с nginx во время инстала добавляется в ./etc/nginx/sites-available/default необходимый адрес и снова рестартуется docker-compose stop/up -d —no-recreate;
Antonio
14.11.2018
12:58:33
пытаюсь запустить маленький проект под докером. Один из сервисов - мускул. Конфиг для базы хочу взять из файла .env в папке с исходниками. В docker-compose есть такой конфиг:
version: '3'
volumes:
dbdata:
services:
db:
image: mysql:8.0.13
command: --default-authentication-plugin=mysql_native_password
restart: always
env_file:
- ./src/.env
environment:
- MYSQL_DATABASE=${DB_DATABASE}
- MYSQL_USER=${DB_USERNAME}
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_ROOT_PASSWORD='supersecret'
ports:
- "3306:3306"
volumes:
- dbdata:/var/lib/mysql
вывод енвайромента:
cat ./src/.env| grep DB_
DB_HOST=db
DB_PORT=3306
DB_DATABASE=db_site
DB_USERNAME=user
DB_PASSWORD=secret
но при выполнении _docker-compose build db_ получаю
WARNING: The DB_DATABASE variable is not set. Defaulting to a blank string.
WARNING: The DB_USERNAME variable is not set. Defaulting to a blank string.
WARNING: The DB_PASSWORD variable is not set. Defaulting to a blank string.
db uses an image, skipping
Почему не видятся переменные?
Damir
14.11.2018
13:19:56
env_file:
- ./src/.env
автоматом подключает все переменные из твоего файла ./src/.env
(нет необходимости прописывать их в разделе environment) WARNING: The DB_DATABASE variable is not set. Defaulting to a blank string - не находит твой файл .env в корневой папке, где находится docker-compose.yml, поэтому и не может найти ${DB_DATABASE} и тп. Вроде как-то так, могу ошибаться
Antonio
14.11.2018
13:25:39
так в том и дело, что он должен взять не ./.env , а ./src/.env
Konstantin
14.11.2018
13:31:01
Google
Antonio
14.11.2018
13:32:25
Но тогда у меня переменные в конфиге должны называться также, как они используются в контейнере?
Damir
14.11.2018
13:47:58
yes
Igor
14.11.2018
13:48:50
привет, подскажите с логами, драйверами и гелфом
как правильно конфигурить, чтобы в грейлоге можно было нормально фильтровать?
ну ок, добавил лейбл - в грейлоге ничего нет с таким лейблом
{
"log-driver": "gelf",
"log-opts": {
"gelf-address": "udp://graylog:12201",
"labels": "igorrr"
}
}
}
Alexander
14.11.2018
14:32:44
а поднимал ли кто-нибудь acme-dns (https://github.com/joohoi/acme-dns)? запустил его контейнер с --publish 53:53, но такое чувство, что из-за другого контейнера запущенного с --network host 53 порт в итоге закрыт на хостовой машине. может ли в этом быть проблема или не туда воюю?
Nick
14.11.2018
14:35:09
Alexander
14.11.2018
15:28:50
Artem
14.11.2018
16:51:49
Всем привет. У меня есть git-репозиторий со скриптом на питоне, и докерфайлом, который этот скрипт запускает и генерирует файлы. Я хочу сделать несколько докерфайлов, которые будут запускать скрипт по-разному. Как разложить их в репозитории?
То есть допустимо ли складывать несколько докерфайлов в одну директорию?
Artem
14.11.2018
16:52:49
почему нет ?
Anton
14.11.2018
16:53:32
Artem
14.11.2018
16:53:44
например есть docker build использовать, то указывается нужный как
docker build -f path/to/Dockerfile
Artem
14.11.2018
16:57:13
Отлично. А инструкция FROM работает только для докерхаба? От соседнего докерфайла можно наследоваться?
Artem
14.11.2018
16:58:15
Artem
14.11.2018
16:58:40
Спасибо
Ivan
14.11.2018
17:04:13
Google
xPushkin
14.11.2018
20:26:08
Друзья, подскажи пожалуйста как поставить лимит на логи контейнера
Konstantin
14.11.2018
20:38:07
xPushkin
14.11.2018
20:40:16
Dibro
14.11.2018
21:32:44
привет, хочу стопнуть все контейнеры, есть ли разница между:
docker stop $(docker ps -aq)
и
docker stop $(docker ps -q)
везде предлагают первый вариант, хотя, как мне кажется, это одно и тоже
Konstantin
14.11.2018
21:33:19
Так ты описание флагов то глянь
Зачем гадать то
Dibro
14.11.2018
21:34:40
Konstantin
14.11.2018
21:34:53
Вот и ответ)
Dibro
14.11.2018
21:35:23
Konstantin
14.11.2018
21:35:43
Хз, это же интернеты)
Николай
15.11.2018
04:43:06
Ребят, может кто сталкивался.
Имеется несколько приложений на Laravel (php).
В docker-compose описал такие сервисы:
-nginx
-postgres
-rabbit
-app 1
-app 2
-app 3
-...
-app N
Тут в каждом приложении (app N) dockerfile основан на php-fpm, тоесть в контейнере с прилагой только php и сама прилага.
Контейнер с nginx прокидывается в каждую прилагу (volumes_from). На этом этапе все хорошо, все работает.
Что надо: в контейнере с nginx завести виртуальный хост для проксирования каждой прилаги с одного домена. То есть, имеем домен api.example.com
и нужно чтобы по запросу http://api.example.com/app1 отвечала прилага app 1, http://api.example.com/app2 отвечала прилага app 2 и т.д.
Но так как в контейнерах с прилагами нет вебсервера, простым проксированием по имени контейнера обратится к ним не получится.
Казалось бы, засунуть в каждую прилагу nginx и не парится, но это противоречит концепции докера "1 контейнер = 1 процесс", да и выглядит это как то по уебански.
Как быть?
Илья
15.11.2018
04:45:19
Сделай чтобы был в контейнере с приложением nginx а не php
А в конфигах nginx укажи php:9000 или как оно там
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass php-fpm:9000;
try_files $uri =404;
}
php-fpm - название твоего сервиса