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"
Вот так все должно работать
Anonymous
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
И что это за особенности?
Alexey
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 или это вообще перебор будет?
Cin
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
Sun
Гугли exit codes
pavel
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
Anonymous
Alexander
Можно, но опять-таки вопрос с volume и путями в них: если там все пути абсолютные - супер, должно быть ок
pavel
expose ports в чем разница?
Александр
expose ports в чем разница?
expose говорит, что внутри контейнера процесс будет слушать эти порты, ports прокидывает порты на хостовую машину. Expose пишут только для того, чтобы тот, кто использует контейнер, знал, какие порты можно прокидывать. Можно написать туда любой порт, и не обязательно он будет прослушиваться
pavel
спасибо всё понятно, а ещё про networks пару слов
Anatoliy
Народ. может кто пояснить как делать правильно? есть idea, есть docker-ce установленный на виртуалке(debian), проброшен порт 2375 с виртуалки на 2223 хоста. Но..: http://prntscr.com/hii77i
Anatoliy
Что я не так делаю?
Chebyrash
Serhii
да
Artem
Да, чтобы знать на каком порту работает приложение
Artem
Я могу там написать 80, а работать на 9000
Chebyrash
Ну наверное. Как по мне, то лучше явно, чем не явно.
Serhii
питонист в треде, гоните его, насмехайтесь над ним
Chebyrash
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 ?
Ihor
Anonymous
Спасибо