Artem
Читать документацию видимо никто никогда не пробует..
Artem
Serhii
Pavel
Жайык
Подскажите пжл запустил контейнер все заработало вышел с сервера контейнер удалилось в чем может быть причина
Artem
Смотря как запускал
Ilia
Всем привет)
Ilia
Подскажите стоит ли использвоать named volume для того чтобы держать там бд data dir
Жайык
Запускал docker compose up -d, потом ctrl+z, проверил все работает, если нет делал docker start, и вышел с удаленного сервера, и контейнер удалился
Vyacheslav
https://blog.amartynov.ru/docker-named-volumes/
Vyacheslav
Всем привет)
Vyacheslav
Подскажите стоит ли использвоать named volume для того чтобы держать там бд data dir
Vyacheslav
Вот так сделал, и данные не теряются, ни при удалении контейнера, ни при удалении образа
mysql:
image: mysql:5.7.20
expose:
- "3306"
volumes:
- ./data/mysql:/docker-entrypoint-initdb.d
- mysql:/var/lib/mysql
- ./conf/mysql/my.cnf:/etc/mysql/conf.d/my.cnf
restart: always
env_file:
- variables.env
Aleksandr
Artem
Маунт с хоста например
Artem
Более надёжно чем волюм, а то в случае если файловая система докера поедет, как например бывает с aufs всякими, то и данные все тоже в трубу улетят
Artem
И подверженный тому риску который я описал выше
Artem
например read/write error и зависание докер демона из-за бага сторадж драйвера
Artem
лечится только полным сносом /var/lib/docker
Artem
с папкой home такого не может произойти в принципе, а если маунт делать с директории которая монтируется с распределенной фс, то вообще мало чего с ним может произойти
Danila
Привет! Помогите нубу, пожалуйста. docker-compose.yml
composer:
image: "composer"
volumes:
- "./web/backend:/app"
command: install
Рут для композера локальный всегда должен быть прибинжен к /app в контейнере? Просто если я пытаюсь сделать
- "./web/backend:/backend", то он ругается, что не может найти композер.жсон при исполнении install.
Artem
судя по докерфайлу
Artem
https://github.com/composer/docker/blob/731db8e23398470eac34ebeed8816362b54d5089/1.5/Dockerfile
Artem
WORKDIR /app
Artem
так что монтируй туда
Danila
Ага, спасибо.
Artem
либо можешь пересобрать контейнер на базе композера и указать другой воркдир, если принципиально
Danila
Нет, это не принципиально, я собирал самую примитивную композицию тупо чтобы тестеру отдать скрипт, а то он ругался и требовал докер-аппа :)
Oleg
pavel
а в чем разница между links and depends_on
Artem
links фича которая уже давно депрекейтед и заменена docker network
Artem
а depends_on зависимость старта одного контейнера перед другим
Artem
вся эта и многая другая полезная информация есть в доке
pavel
спс
Anatoliy
Народ, а почему докер может выдавать Could not resolve host ? Сама машина адрес пингует, в хостах внутри контейнера тоже намертво записано куда обращаться. Что не так?
Aleksandr
Подробнее
Anatoliy
Хотя не, в /etc/hosts адреса нет( Не добавляется он
Anatoliy
В общем есть домен вида my.local.domain по адресу 192.168.8.8 На хост машине он пингуется и все норм. Если же пробовать обратиться к нему из контейнера - он его не видит
Evgenii
Anatoliy
Угу, а как сделать что бы работал?
Evgenii
Угу, а как сделать что бы работал?
https://docs.docker.com/engine/userguide/networking/default_network/configure-dns/
https://docs.docker.com/engine/userguide/networking/configure-dns/
Evgenii
Комрады, у меня вопрос про то, как у вы настраиваете права на замапленные volume. Есть nginx контейнер, сам nginx работает внутри под пользователем nginx(user nginx;). На хостовой машине сейчас сделаны права 777, поэтому всё работает. Как правильно (кошерно) выставить права (не 777) на хостовой машине, чтобы внутри контейнера у Nginx были права на чтение и запись?
Ilia
Мне кажется что тебе нужно просто примонтировтаь то-что ты хочешь защитить от записи в RO volume
Aleksandr
E
Всем добрый день. Скажите, источник, самый простой, который заработает. Мне нужен php7-fpm который будет расшарен с сокетом в каталоге. Без nginx. Третий день гуглю, ничего нет без nginx. Все пробы заканчиваются ничем. Уже просто дико устал от отсутвия возможности сделать такой простой контейнер....
E
./docker-compose.yml
php_fpm:
build: ./php-fpm
volumes:
- /run/docker/sock:/sock
# тут другие пути
./php-fpm/Dockerfile
FROM php:7.1-fpm
Oleg
а зачем контейнеру докеровский сокет если не секрет?
E
Потому что nginx уже стоит, и хочется именно его использовать
Oleg
где-то был построчный мануал как дефолтный nginx задружить с дефортным fpm-контейнером
E
А не могли бы вы подсказать где его найти. Я уже отчаялся...
Oleg
nginx в контейнере?
E
нет, он стоит без контейнера
Oleg
whatever
Oleg
а php-код лежит на хосте?
E
да. Его я буду расшариванием папки использовать.
Oleg
Тогда думается так
1. - /run/docker/sock:/sock - нафиг не нужен
это сокет для того чтобы пообщаться с демоном докера, с его апи
Oleg
version: '3'
services:
php:
image: php:7-fpm
# ...
ports:
- 9000:9000
volumes:
- /path/to/php/code:/path/to/php/code
# ...
Oleg
server {
#....
root /path/to/php/code;
index index.php index.html index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_intercept_errors on;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# ...
}
Oleg
ключевое слово /path/to/php/code — оно должно быть везде одинаковым
Oleg
в данной конфигурации установленный на хосте nginx будет общаться с php-fpm в контейнере и ранать код из /path/to/php/code на локальном хосте
Oleg
секрет в том что папку с кодом надо смотнтировать в php-контейнер ровно в то же место в котором оно лежит на хост-машине
E
Спасибо большое. Через 10 минут попробую !
Oleg
общение будет идти по tcp-сокету на порту 9000
Oleg
если кровь-из-носа нужен именно unix-socket — надо соотв образом менять конфиги
Oleg
пути ессно нужны абсолютные
E
[emerg] host not found in upstream "php"
Он апстрим не видит ( php:9000
John
E
в одной системе.
На одной виртуальной машине. Виртувлизация у хостера.
Oleg
E
Контейнер запустился
John
Oleg
ха
Oleg
это чтоб портиз контейнера на хост машину заэкспозился
Oleg
без этого гне взлетит