Oleg
посмотрите Doker-файл дефолттного образа апача
Oleg
и возьмите entrypoint-скрипт оттуда
Anonymous
Я решил проблему немного по-другому
Anonymous
А именно создал вручную образ на базе Ubuntu
Anonymous
Загрузил этот образ на Docker Hub
Anonymous
Он ж большой
Chebyrash
Он ж большой
И что? Вон дотнеты льют по несколько гигов.
Anonymous
Ну лучший пример для подражания
Maxim
А подскажите пожалуйста, как из cron хост машины выполнить yii2 консольную команду, который запущен в докере имя контейнера site_php_1? вот так я запускаю команду руками из консоли и она работает docker exec -it site_php_1 bash и в ней уже ./yii my/command 0 вот так записал в крон - но не работает 13 20 * * * (cd /var/www/site.com && /usr/bin/docker exec -it site_php_1 bash -c "./yii my/command 0") что-то не то делаю?
Artem
А причем тут CD /var/www ?
Artem
Как это связано с командой запускаемой в контейнере?
Maxim
никак не свзяано. по этому пути лежит docker-compose.yml
Artem
Зачем это делать?
Artem
Ты же по полному имени контейнера обращаешься
Maxim
каюсь. было сперва docker-compose exec, поэтому команда перехода в папку к yml осталось. не знаю правильно или нет было - но где-то прочитал :) но и без cd... тоже не работает
Artem
* * * * * docker exec -it containername sh -c "command param1 param2" Вот так все должно работать
Serhii
мобибайт
Bogdan (SirEdvin)
Кто там топил за альпин? Там даже mkdir -p t1/{t2,t3} не работает нормально.
Anonymous
Есть несколько контейнеров с различными версиями PHP-FPM (7.0, 7.2 и 5.6) и один контейнер с Nginx. В контейнерах с PHP-FPM есть пулы. Каждый из пулов слушает свой собственный сокет. Для того, чтобы контейнер с Nginx мог корректно взаимодействовать с контейнером php-fpm, нужно: 1) На хосте создать директорию /run/php/PHP_VERSION/ 2) В директиве listen у пулов указать listen /run/php/PHP_VERSION/somesock.sock 3) К контейнерам примонтировать с помощью bind mount директорию /run/php__/PHP_VERSION__/ 4) В контейнер с Nginx примонтировать папку /run/php 5)В конфиге Nginx указать proxy_pass unix:/run/php/PHP_VERSION/somesock.sock 6)Профит
Anonymous
Так будет работать, или есть какие-то особенности?
Anonymous
Туториалов по настройке Nginx + php-fpm (на сокетах) в разных контейнерах не видел
Anonymous
И что это за особенности?
Anonymous
Лол, а volumes-from на что?
Мне не нужно монтировать все папки, которые примонтированы к контейнеру с php-fpm, в контейнер с Nginx
Ivan
#whois Всем привет. Меня зовут Иван. Я старший сисадмин в торговой компании. Занимаюсь сетями и Linux администрированием, пишу на Python, начал юзать Ансибл. Докер использую для быстрого развёртывания стандартных приложений. Чем могу быть полезен комьюнити? Да кто его знает, чем-нибудь да могу. Всегда готов поделиться знаниями, если таковые имеются. Набираюсь знаний, чтобы свалить в Питер и стать DevOps'ом (пахнет у нас тут, знаете ли хД). Город Челябинск. Группу нашел, просто вбив Docker в поиске ТГ. Искал книгу "Использование Docker" в переводе.
Bogdan
Здравствуйте! у меня на виртуалке digitalocean docker-compose стоит с lamp стэком. 4 контейнера: maria, memcache, nginx, php-fpm. бывают к докеру какие-нибудь дашборды наподобии kubernetes/dashboard чтобы за ресурсами смотреть? а ставят в таких случаях kubernetes или это вообще перебор будет?
Ivan
Оно? http://onreader.mdl.ru/UsingDocker/content/index.html
Угу, спасибо, но это я находил. У них перевод кривоват немного. Но если pdf не найду, то и веб версии будет достаточно. В общем-то, у меня оригинал есть, но на русском всё же удобнее.
Bogdan
@cinerar благодарочка!
pavel
доброго времени суток, куда копать чтобы победить exited with code 0?
pavel
docker ps -a : ... 6 minutes ago Restarting (0) 16 seconds ago
pavel
FROM python:3.6-alpine3.6 ENV PYTHONUNBUFFERED 1 ENV PYTHONFAULTHANDLER 1 RUN apk update RUN apk upgrade RUN apk add --no-cache \ bash \ build-base \ gettext \ linux-headers \ musl-dev \ postgresql-client \ postgresql-dev RUN mkdir -p /code WORKDIR /code ADD . /code RUN pip3 install --upgrade pip setuptools RUN pip3 install --no-cache-dir -r requirements/prod.txt EXPOSE 8000
pavel
version: '2' services: backend: restart: always build: context: . dockerfile: docker/production/back/Dockerfile expose: - "8000" links: - postgres:postgres # - redis:redis env_file: .env volumes: - .:/code # command: "/usr/local/bin/gunicorn robo74.wsgi:application -w 2 -b :8000" frontend: restart: always build: context: . dockerfile: docker/production/front/Dockerfile ports: - "3000:3000" links: - backend volumes: - .:/code nginx: restart: always image: nginx expose: - "80" volumes: - ./docker/production/nginx/default.conf:/etc/nginx/conf.d/default.conf volumes_from: - backend links: - backend command: [nginx-debug, '-g', 'daemon off;'] postgres: restart: always image: postgres:latest expose: - "5432" environment: POSTGRES_DB: db POSTGRES_USER: user POSTGRES_PASSWORD: pass
pavel
frontend_1 exited with code 0 backend_1 exited with code 0
pavel
я не понимаю что я натворил))
Anonymous
Здравствуйте. Такой вопрос - для того, чтобы мне собрать какой-то образ с помощью Docker compose мне необходимо перейти в папку, где лежит файл docker-compose.yml, а потом выполнить docker-compose up -d
Anonymous
Можно с помощью какого-то ключа задать папку с файлом docker-compose.yml ?
pavel
docker-compose -f /your/path/docker-compose.yml up -d @drford
pavel
nginx_1 exited with code 1
pavel
блин обьясните по простому что это за code 0 code 1 code 2 и тд
Sun
Гугли exit codes
pavel
exited with code 0 = OK. ? гуглю пока тут тишина)
Sun
exited with code 0 = OK. ? гуглю пока тут тишина)
Значит, всё выполнилось нормально и контейнер закрылся, потому что несущий процесс вышел нормально и больше ничего не происходит
Sun
Скорее всего, ты nginx запускаешь без ключа "работать во фронте"
Sun
If you add a custom CMD in the Dockerfile, be sure to include -g daemon off; in the CMD in order for nginx to stay in the foreground, so that Docker can track the process properly 
Sun
Здравствуйте. Такой вопрос - для того, чтобы мне собрать какой-то образ с помощью Docker compose мне необходимо перейти в папку, где лежит файл docker-compose.yml, а потом выполнить docker-compose up -d
На время отладки я тебе рекомендую запускать с "up --build", чтобы в консоль лились логи работы, а работать в соседнем окне. Так просто удобнее.
Alexander
Здравствуйте. Такой вопрос - для того, чтобы мне собрать какой-то образ с помощью Docker compose мне необходимо перейти в папку, где лежит файл docker-compose.yml, а потом выполнить docker-compose up -d
Если какие-то файлы или папки, которые вы используете в volume, лежат в папке рядом с docker-compose.yml, то перейдите в эту папку и подымите docker-compose оттуда. Если имя у docker-compose.yml другое, используйте docker-compose -f my-compose-name.yml up
Alexander
Можно, но опять-таки вопрос с volume и путями в них: если там все пути абсолютные - супер, должно быть ок
pavel
expose ports в чем разница?
Александр
expose ports в чем разница?
expose говорит, что внутри контейнера процесс будет слушать эти порты, ports прокидывает порты на хостовую машину. Expose пишут только для того, чтобы тот, кто использует контейнер, знал, какие порты можно прокидывать. Можно написать туда любой порт, и не обязательно он будет прослушиваться
Chebyrash
expose ports в чем разница?
expose - порт открыт для связи между контейнерами ports - порт открыт хост машине
pavel
спасибо всё понятно, а ещё про networks пару слов
Anatoliy
Народ. может кто пояснить как делать правильно? есть idea, есть docker-ce установленный на виртуалке(debian), проброшен порт 2375 с виртуалки на 2223 хоста. Но..: http://prntscr.com/hii77i
Anatoliy
Что я не так делаю?
Artem
expose - порт открыт для связи между контейнерами ports - порт открыт хост машине
Ничего подобного, expose только для удобства описывается, контейнеры в одной сети между собой открыты по всем портам.
Serhii
да
Artem
Да, чтобы знать на каком порту работает приложение
Artem
Я могу там написать 80, а работать на 9000
Chebyrash
Ну наверное. Как по мне, то лучше явно, чем не явно.
Serhii
питонист в треде, гоните его, насмехайтесь над ним
Tadeusz
пианист
Serhii
А был, жаль, жаль
Chebyrash
А был, жаль, жаль
Был. Да и сейчас иногда какой-нибудь сервис маленький удобнее поднять на питоне.
Dmitrij
где почитать о том чтобы при запущенном контейнере, локальная директория была динамически смонтирована к нему?
Dmitrij
и чтобы через докфайл
Artem
Без перезапуска ничего не будет динамически монтироваться
Александр
и чтобы через докфайл
Докерфайл - это алгоритм сборки, а не алгоритм работы. Монтировать вы можете любую хостовую папку в любое место в контейнере при его запуске
Александр
Не зависимо от того, что написано в докерфайле
Anonymous
Здравствуйте. Пытаюсь в docker-compose.yml развернуть образ с MySQL
Anonymous
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7
Anonymous
Вот как происходит запуск из командной строки
Anonymous
Как мне указать переменную MYSQL_ROOT_PASSWORD в Docker compose ?
Anonymous
Спасибо