Vyacheslav
сами образы скрыты пеленой докера
Vyacheslav
а удалить docker rmi код образа
Alexei
а, вот это я и хотел. :)
Vyacheslav
команда очистки всех образов docker rmi -f $(docker images -aq)
Александр
ok)
docker run --rm \
-v $(pwd):/tmp/dumps \
-v $(pwd)/docker/postgres/.pgpass:/root/.pgpass \
postgres \
pg_dump \
-U ${USER} \
-h ${HOST} \
-d ${DATABASE} \
--no-owner \
--no-privileges \
--verbose \
--format=p \
-f /tmp/dumps/uley.sql
Vyacheslav
docker rm -f $(docker ps -aq) это всех контейнеров
Alexei
а я правильно понимаю, что вот этот архив - это не полноценный докер ? это сборка из нескольких образов, но не являющийся полноценным докер image?
Александр
Это контейнеры, запущенные и остановленные неудаленные
Alexei
а как происходит разделение портов между web серверами? есть 2 докер образа. в каждом свой сайт на сервере 1 ip и что дальше?
Alexei
в обычном варианте, крутится или апач, или nginx с виртуальными сайтами, которые отвечают по dns запросу. Как это будет в случае докера? dns будет ссылаться на реальный ip сервера. это понятно. не понятно, можно ли запустить одновременно apaча и nginx? в разных контейнерах.?
Bogdan
надо порт пробрасывать на хост
Bogdan
если одновременно апач и nginx то их надо на разые порты маппить на хосте. а чтобы одновременно на 80 порте работало и то и то, то тогда надо ставить еще один контейнер, на котором будет стоять что-то что будет в зависимости от доменного имени обращаться либо к либо к апачу, либо к nginx
Vyacheslav
Bogdan
я бы так сделал, да
Vyacheslav
Vyacheslav
при поднятии докера можешь указать scale=2 и увидишь конфликт)
Alexei
ага, то есть докер не панацея :)
но 2 nginx запустить можно?
Vyacheslav
с разными портами естесна
Alexei
которые на 2 разных домена будут откликаться.
Vyacheslav
докер позволяет используя одни и те же образы легко переезжать к примеру
Vyacheslav
Vyacheslav
да и смысл
Vyacheslav
в 1 нгиксе в конфиге указываешь 2 разных сервера
Vyacheslav
и делов
Vyacheslav
просто 2 разных server_name с твоим доменом
Vyacheslav
я так поддомены плодил
Vyacheslav
был поддомен api.localhost там крутился php-fpm и рест апи
Alexei
ага, то есть, по хорошему - на хост надо ставить nginx не в докере, настраивать его на проксирование, а дальше в докере уже пускать на разных портах?
Bogdan
кстати, вот вчера статья интересная про скалинг веб серверов в докере была https://medium.com/@nirgn/load-balancing-applications-with-haproxy-and-docker-d719b7c5b231
Bogdan
там haproxy и nodejs
Vyacheslav
на обычном локалхосте была чистая статика(vue.js сбилденный в одну статику без ноды)
Vyacheslav
ну для мелких проектов в скалинге смысла нет я полагаю
Bogdan
ну хотя бы ставновится понятно как 2 вебсервера одновременно запустить
Vyacheslav
какой там потолок у нгикса, 10к коннектов в раз?
Vyacheslav
думаю если больше 5к уже можно балансить
Bogdan
согласен, но если один контейнер с вебсервером, то его не обновить без простоя
Vyacheslav
тоже верно
Artem
Artem
естественно должно быть минимум 2 контейнера
Vyacheslav
Vyacheslav
обычно конфигурирование единоразовая процедура в продакшине
Bogdan
да это я просто в теории
Vyacheslav
настроил, пнул и пахает
Artem
какой нибудь говносайтик)
Vyacheslav
ну о нём и речь
Artem
ну в таком случае и даунтайм в принципе не важен
Chebyrash
Друзья, использую nginx в контейнере. Как правильно делать proxy_pass на другие контейнеры в одной network?
Artem
proxy_pass http://containername
Artem
ну и порт какой нибудь если отличный от 80
Chebyrash
Chebyrash
nginx: [emerg] host not found in upstream "media" in /etc/nginx/conf.d/default.conf:15
Chebyrash
Мне кажется я что-то делаю не так )
Andrey
так, но не до конца
Andrey
нужен resolver и media в переменную засунь
Andrey
в переменную что бы nginx стартанул, когда бэкенд не резолвится
Andrey
резолвер внутренний докера
Andrey
resolver 127.0.0.11;
Artem
да у него скорее всего контейнер не так называется
Artem
потому и апстрима нет
Artem
docker ps | grep media
Andrey
или поднимается после того как nginx поднялся
Andrey
в любом случае в переменную надо пихать апстрим
Andrey
set $upstream media;
Artem
то да, или 1500$ за боярский нджинкс)
Andrey
и дальше proxy_pass http://$upstream;
Andrey
Artem
для начала проверь имя контейнера)
Artem
Artem
ну так у тебя и будет ругаться на отсутствие апстрима и падать нджинкс
Artem
сначала все поднимаешь, а потом уже nginx
Artem
он их проверяет при старте
Chebyrash
Понял
Chebyrash
Буду поднимать nginx последним
Chebyrash
А можно сделать чтобы nginx игнорил упавшие апстримы?
Artem
если юзаешь компоуз то depends_on в помощь
Chebyrash
И обслуживал другие