central
Привет! Подскажите, есть разница в скорости работы приложений в контейнере в Windows (Docker desctop) и на хосте? Я запустил в контейнере приложение (apache-tomee), которое ходит в бд MYSQL. Запросы к tomee проксируются через nginx. Приложение работает заметно медленнее чем на локалхосте docker-compose.yml: version: "3.7" services: nginx: container_name: nginx image: nginx volumes: - .\\volumes\\nginx\\sites-enabled\\localhost:/etc/nginx/conf.d - .\\volumes\\nginx\\html:/etc/nginx/html - .\\volumes\\nginx\\logs:/etc/nginx/logs ports: - 80:80 - 443:443 networks: - my_net mysql: container_name: mysql image: mysql:5.7 volumes: - .\\volumes\\mysql\\data:/var/lib/mysql ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=pwd networks: - my_net my-services: container_name: my-services image: tomee:8-jre-7.0.5-plume volumes: - .\\volumes\\tomee\\webapps:/usr/local/tomee/webapps - .\\volumes\\tomee\\conf\\tomee.xml:/usr/local/tomee/conf/tomee.xml - .\\volumes\\tomee\\conf\\server.xml:/usr/local/tomee/conf/server.xml - .\\volumes\\tomee\\conf\\catalina.properties:/usr/local/tomee/conf/catalina.properties - .\\volumes\\tomee\\logs:/usr/local/tomee/logs ports: - 8183:8080 restart: always networks: - my_net networks: my_net: driver: bridge
docker desktop да и for mac это виртуалка, соответственно и оверхед на эту виртуалку и IO
Alex
Подскажите плиз по поводу depends_on в компоуз файлах если ее указать, надо еще скрипт писать для проверки поднялся ли зависимый контейнер?
central
health_check стандартный вроде бы
✙ Dmytro
можно ли заставить докер игнорить большие буквы в ссылке на имейдж репозиторий? аки invalid reference format: repository name must be lowercase
Alex
столкнулся с проблемой контейнер с nginx после запуска сразу exited запускаю с помощью docker-compose кусок docker-compose.yml файла be: build: /home/docker/be ports: - '80' networks: vpcbr: ipv4_address: 10.164.0.33 fe: build: /home/docker/fe ports: - '80' networks: vpcbr: ipv4_address: 10.164.0.31 lb: image: nginx volumes: - /home/docker/lb/nginx:/etc/nginx/conf.d/ ports: - "8080:80" environment: - NGINX_PORT=80 networks: vpcbr: ipv4_address: 10.164.0.41
Andrey
ну значит не запустился, в докерфайле-то что
Alex
ну значит не запустился, в докерфайле-то что
так я же не использую докерфайл
Alex
использует офф версию
Alex
а docker-compose logs lb че пишет?
фук) nginx: [emerg] unexpected end of file, expecting "}" спасибо!)
Alex
fe: build: /home/docker/fe ports: - '80' в данном случае порт будет доступен только внутри сети которую создал docker-compose - верно?
Andrey
Есть имена
Alex
фронтенд, бекенд и база данных за балансером - идея такая а как без адресов будет это все разруливаться?
Alex
А с ними как? Кто о них знает?
на фронте и бекенде прописаны адреса, и адрес базы
Alex
плюс куда балансер будет запросы отправлять
Alex
если не указаны ip
Andrey
Откуда ему знать про 10.xx
Andrey
И что он будет балансировать с 1 хостом
Alex
в конфиге прописано upstream frontend { ip_hash; server 10.164.0.31; server 10.164.0.32; } server { location / { proxy_pass http://frontend; } }
Alex
Где это стоит?
на баласере
Andrey
на баласере
Он не на этом хосте?
Andrey
Где это стоит?
в том же композе lb видимо
Alex
Он не на этом хосте?
в отдельном контейнере
Alex
4 контейнера в итоге должно быть
Andrey
в отдельном контейнере
Ну и почему не имена?
Alex
ок) я понял сделаю имена
Andrey
Спасибо
Alex
а по поводу портов тогда как?
Andrey
а по поводу портов тогда как?
Чо как, убери свой '80'
Alex
все равно не догоняю) у меня в файле на бекенде application/config/database.php есть строка mysql:host=10.164.0.11;dbname=testv;charset=utf8' - сюда что тоже имя вписать и будет работать?
Andrey
это особая уличная магия, будет, если правильное прописать
Andrey
если только приложение не ограничивает себя самостоятельно использованием исключительно ip адресов
Andrey
я давно не видел таких извращений, поэтому вероятность невелика
Alex
Пиши имя
убрал вообще networks: и айпи адреса
Andrey
убрал вообще networks: и айпи адреса
Нетворк не обязательно, желательно давать понятные название
Alex
ребят спасибо всем, все получилось пацаны вообще ребята!
Pavel
Вечер добрый.
Pavel
ВОпрос...
Pavel
Дебажите ли вы код прямо в контейнере? И если нет - то почему?
Andrey
какой в этом потаённый смысл
Pavel
Ну, как минимум, не надо ничего запускать вне докера.
Pavel
Как проект разворачивается - так его и дебажишь.
Andrey
сейчас даже пайчарм умеет в докер, что ты имеешь ввиду в ДЕБАЖИТЕ
Semyon
Иногда ребилдить лень, тогда можно и в самом контейнере подебажить
Pavel
Ну, брейкпойнты поставить там.
Andrey
см выше
Pavel
Ну так вот мне интересно, чем дебаг в контейнере принципиально хуже дебага не в контейнере?
Andrey
это не корректный вопрос
Pavel
Ладно. Переформулирую. Почему некоторые предпочитают так не делать?
Sebor▂▅▇█▓▒░
fs
привет всем, кто подскажет, когда пушился image на локальный docker hub, там закончилось место, теперь даже если пересобирать image (только этот который пушился) при pull пишет 71b67b6ee2ad: Downloading [==================================================>] 12.08kB/12.08kB unexpected EOF обычно в таком деле мне помогало найти поиском по рабочей хабовской директории слой (71b67b6ee2ad) к примеру и удалить но, может есть варинаты решения получше?
George
Ты слышал, что докерхаб закручивает гайки? Скоро реально начнут деньги даже за трафик брать, в топку их
Denis
человек пишет про локальный ванильный докер реджистри
Denis
ты о чем вобще
George
Локальный докер хаб
George
Блин, воистину, звучит, как непонятный зверь. Тогда тем более - раз развернул эту бяку локально - имеет смысл посмотреть в сторону harbor/JFrog docker registry/Gitlab registry на своих ресурсах
fs
я уже задумываюсь над этим, ибо чето мне удаление слоев не особо помогает
George
Касательно eof - ну, руками в блобах - да, можно копаться, но это последнее дело
George
Там же помимо самих блобов где-то сбоку метадатка есть
George
И скорее всего что-то сломалось
George
Сорри, ваш к.о.
Denis
только харбор из этого списка исключить стоит как минимум
Denis
про jfrog \ гитлаб не вкурсе.