leejoys
честно, я уже забыл, как его ставил
Dan
но вообще сейчас нужно использовать только встроенный - который модуль докера, который запускается через docker compose
Dan
потому что его переписали на go
leejoys
сейчас обновил то, на что доки нашел. а это вот нет
George
Нормально работал только, когда либо он внутри докера, либо когда бинарем с офсайта тащишь
leejoys
ок
Антон
Подскажите пожалуйста, у меня 2 контейнера, один с ларкой, другой с нжинкс, на дэве у меня ларка с сервером общались на примонтрованном локальном вольюме, для прода хочу сделать, чтобы обмен шел на прямую, как это сделать кроме как через независимый том?
Evgeniy
ADD или COPY в image
Evgeniy
Плохая идея
Evgeniy
Ну на вкус и цвет конечно
Alexander
Плохая идея
nginx unit - это application server ему не нужен php-fpm
Evgeniy
Нужен nginx + php хотя бы cli или cgi
Alexander
нужна определенная реализация SAPI в случае с nginx unit это php embedded (это не fpm и отдельного процесса не будет) unit подключает и использует php embedded для исполнения PHP кода
Evgeniy
Это ведёт дорогой интересных приклбчений, я более традиционен тут В любом случае надо раздавать статику и там я настраиваю fastcgi pass но опять же каждый выбирает свой путь
Alexander
так nginx unit раздаёт нормально статику )
Alexander
но для “традиционного”, как ты выразился, пути нужно два контейнера php-fpm с открытым 9000 портом и классический nginx, который будет ходить в соседний контейнер по этому порту
Evgeniy
для традиционного пути в 2022 году бывает обычно фронт который на vue или react или .... которому надо раздавать статику и бывает /api которое на пхп или пайтон или go, или java или что угодно и оно за апиху и там уже другие зависимости. в любом случае будет какой то nginx, я обычно фронт заварачиваю сам на себя и он обращатся в location /api где уже лежит или fastcgi_pass (для php-fpm) или proxy_pass (для других http серверов) но опять же это дело вкуса, никому не навязываю просто nginx unit относительно новая штука, которую я не освайвал так как не знаю что она будет заменять
Vladislav
Всем привет, я новичок в docker и работал только на локалке, подскажите смогу ли я перенести сайт с докиром на хостинг? В интернете не нашел
Хоттабыч 🐕
Можешь, я в тебя верю
Elion
подскажите - как должен выглядеть конфиг docker-compose.yml, чтобы докер занимал ip адреса из разрешенного диапазона? Админ говорит В настройках сетей докер следует использовать диапазон 172.26.0.1 - 172.26.255.254. Он у нас зарезервирован для контейнеров. Нашел вот такую статью https://runnable.com/docker/docker-compose-networking, но не пойму, как подсети и ip указывать
Виктор
Всем ку, запускаю контейнер, но в браузере по локалхост пишет страница не доступна, что не так делаю? Порты указал, контейнер работает
Andrey
expose не прокидывает порты
Виктор
да
Есть последней строкой
Виктор
FROM python:3.9-alpine as spi4ka RUN apk update RUN apk add gcc python3-dev libc-dev libffi-dev RUN pip install aioflask COPY . /screenshotAPI WORKDIR /screenshotAPI RUN pip install -r requirements.txt ENTRYPOINT ["python", "main.py"] EXPOSE 5000
Alexander
лучше всего работай с docker-compose
Виктор
так и пишет страница не доступна( Dockerfile: FROM python:3.9-alpine as spi4ka RUN apk update RUN apk add gcc python3-dev libc-dev libffi-dev RUN pip install aioflask COPY . /screenshotAPI WORKDIR /screenshotAPI RUN pip install -r requirements.txt docker-compose: version: "2" services: screenshoter: build: . volumes: - .:/screenshotAPI ports: - "8080:80" entrypoint: python main.py
Виктор
в cli все работает, но к докеру не могу обратиться через localhost
Nick
Добрый вечер, всем. У меня вопрос по docker-compose секция в docker-compose.yml mysql: .... expose: - "3306" говорит что нужно пробросить порт в контейнер из секции links? я правильно понимаю?
Siroga 🇺🇦
В dockerfile Вы делаете expose порту 5000 (судя по сообщению чуть выше). А в docker-compose пробрасываете с 8080 хоста на 80 внутри контейнера. И как по вашему оно заработает?
Виктор
screenshotapi-screenshoter-1 | * Serving Flask app 'spi4ka_API' (lazy loading) screenshotapi-screenshoter-1 | * Environment: production screenshotapi-screenshoter-1 | WARNING: This is a development server. Do not use it in a production deployment. screenshotapi-screenshoter-1 | Use a production WSGI server instead. screenshotapi-screenshoter-1 | * Debug mode: on screenshotapi-screenshoter-1 | * Running on http://127.0.0.1:80 (Press CTRL+C to quit) screenshotapi-screenshoter-1 | * Restarting with stat screenshotapi-screenshoter-1 | * Debugger is active! screenshotapi-screenshoter-1 | * Debugger PIN: 449-715-774 screenshotapi-screenshoter-1 | 127.0.0.1 - - [06/May/2022 18:54:50] "GET / HTTP/1.1" 404 - screenshotapi-screenshoter-1 | 127.0.0.1 - - [06/May/2022 18:54:57] "GET /ch HTTP/1.1" 200 - screenshotapi-screenshoter-1 | 127.0.0.1 - - [06/May/2022 18:55:20] "GET /ch HTTP/1.1" 200 - screenshotapi-screenshoter-1 | 127.0.0.1 - - [06/May/2022 18:55:35] "GET /status/2/ HTTP/1.1" 200 -
Nick
Добрый вечер, всем. У меня вопрос по docker-compose секция в docker-compose.yml mysql: .... expose: - "3306" говорит что нужно пробросить порт в контейнер из секции links? я правильно понимаю?
Скорей всего это было в прошлом. In older versions of Docker, the EXPOSE keyword could be used for service discovery by linked containers, but (a) it still didn't have any operational impact -- the ports were available whether or not there was a matching EXPOSE -- and container "linking" has been deprecated for a quite some time.
Nick
Но тогда почему нет упоминания в документации, что это устарело. https://docs.docker.com/compose/compose-file/compose-file-v3/#expose Заранее спасибо. за Ваши ответы.
Anonymous
can we put our files everywhere in node image ? anyone knows?
Nick
can we put our files everywhere in node image ? anyone knows?
use ADD command in docker file , https://docs.docker.com/engine/reference/builder/#add
Nick
пожалуйста, не уверен что через daemon.json оптимально
George
пожалуйста, не уверен что через daemon.json оптимально
Оптимально, но там все равно нюансы с докер компоузом есть
Nick
Оптимально, но там все равно нюансы с докер компоузом есть
а может Вы знаете ответ на мой вопрос https://t.me/ru_docker/90675 ?
George
Что ты хочешь сделать ?
Nick
пробросить порт mysql в контейнер приложения, чтобы приложение подключалось через localhost
Evgeniy
для этого есть опция ports
Nick
не пробрасывая порт на хост машину
Evgeniy
для этого контейнер с приложением должен подключаться не к localhost а по имени контейнера (db или mysql)
Evgeniy
контейнер приложения должен в качестве адреса указывать имя контейнера с бд это работает автоматически
George
Два контейнера к одном сетевому ns цепляются
Nick
это понятно, я конкретно спрашивал про expose - links
George
Expose там не нужен, просто links и поехали
Nick
так работает, но вопрос с expose открыт. это просто пережиток прошлого и дополнительные мета данные
Nick
или все-таки как то можно пробрасывать порты между контейнерами
George
или все-таки как то можно пробрасывать порты между контейнерами
У тебя Линкс уже создаёт связь между контейнерами, экспоуз как будто не нужен
Nick
я знаю как работает docker-compose links, я конкретно спрашиваю как работает или работает ли вообще expose
Вадим
Подскажите в Docker 1cpu = 1 реальному процессору со всеми его ядрами или это виртуальный процессор фактически равный одному ядру ?
George
Либо ты про аффинити ?
Вадим
Смотря как настроишь. Вообще это cpu share, то есть фиктивная единица
Я про 1е - т.е это фиктивный процессор с одним ядром?
George
Нет, это единица квантования времени твоего контейнера
Alex
Через docker-compose.yml поднимаю phpmyadmin и mysql. phpmyadmin: image: phpmyadmin:5.1 environment: PMA_USER: root PMA_PASSWORD: secret ports: - "8000:80" db: image: mariadb:10.8 environment: MARIADB_ROOT_PASSWORD: secret И всё работает. Как, чёрт побери, phpmyadmin понимает, в какой сервис mysql ему нужно стукаться?
Alex
PMA_HOST не передаётся нигде
George
никак не понимает
Alex
Как это работает тогда?
George
разве что у него в дефолтах прописано db (в чем сомневаюсь). Или он как клиентская ботва пытается ходить из браузера на локалхост (в чем тоже сомневаюсь)
Alex
Сами попробуйте даже
George
мне некогда
George
работу работать надо