Леонид
Что не так в конфиге?
Леонид
version: '3' services: web: image: nginx:alpine volumes: - "./etc/nginx/default.conf:/etc/nginx/conf.d/default.conf" - "./etc/ssl:/etc/ssl" - "./web:/var/www/html" - "./etc/nginx/default.template.conf:/etc/nginx/conf.d/default.template" ports: - "8000:80" - "3000:443" environment: - NGINX_HOST=${NGINX_HOST} command: /bin/sh -c "envsubst '$$NGINX_HOST' < /etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'" restart: always depends_on: - php - mysqldb - redis php: image: nanoninja/php-fpm:${PHP_VERSION} restart: always depends_on: - redis volumes: - "./etc/php/php.ini:/usr/local/etc/php/conf.d/php.ini" - "./web:/var/www/html" myadmin: image: phpmyadmin/phpmyadmin container_name: phpmyadmin ports: - "8080:80" environment: - PMA_ARBITRARY=1 - PMA_HOST=${MYSQL_HOST} restart: always depends_on: - mysqldb mysqldb: image: mysql:${MYSQL_VERSION} container_name: ${MYSQL_HOST} restart: always env_file: - ".env" environment: - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} ports: - "8989:3306" volumes: - "./data/db/mysql:/var/lib/mysql" redis: image: redis:6.2-alpine restart: always ports: - '6379:6379' command: redis-server --save 20 1 --loglevel warning --requirepass password volumes: - "./cache:/data" volumes: redis: driver: local
Леонид
не могу до редиса достучаться из пыхи
Леонид
а пароль надеюсь не "родной" указан?
исправил чтоб не смущал. по localhost получают ошибку что адрес не верный типа, по 127.0.0.1 получаю connection refused
Леонид
нет у кого мыслей ?
Alexey
нет у кого мыслей ?
все спят уже. но ответ в вопросе.
Леонид
так а какой адрес должен быть О_О
Леонид
Леонид
вот что получаю
Alexey
ты серт чтоли получить пытаешься?
Alexey
на локалхост?
Леонид
нет
Леонид
я пытаюсь в редис достучаться, по локал хосту
Siroga 🇺🇦
Вам нужно стучаться не на localhost для подключения к redis, а к контейнеру в котором запущен redis. Ну и сам redis должен слушать не localhost a 0.0.0.0
Andrey
Доброго дня. Подскажите пожалуйста, есть веб-сервер на апач, там крутится сайт. Хочу на этом же сервере развернуть контейнер с апач, контейнер поднялся, всё ок, но как теперь сделать так что-бы апач в контейнере видел конфиг сайта и мог его запустить, все файлы на хостовой машине. Т.е. хочу отключить веб-сервер на хостовой тачке и что-бы всё работало через апач в контейнере
Konstantin
Типо volumes: - "локальный путь:путь в контейнере"
Andrey
Типо volumes: - "локальный путь:путь в контейнере"
это нужно указывать при старте контейнера?
Konstantin
это нужно указывать при старте контейнера?
А как управляете контейнером?
Konstantin
docker run -v
Konstantin
Portainer стоит)
Ну тогда в ямле
Konstantin
Swarm ?
Konstantin
Google 'docker compose volumes'
Konstantin
никто не встречал такое на Desktop ?
Andrej
Подскажите, при команде push, образ становится доступным всем? Интересует вопрос приватности образов, только начал изучать докер.
Siroga 🇺🇦
Зависит от того в какой репозиторий делать push
Siroga 🇺🇦
Сделаете в приватный - будет недоступен
Andrej
Сделаете в приватный - будет недоступен
Смотрю видео по докеру на ютубе, автор делает push и говорит, что теперь доступе любому. Настройки по умолчанию, докер хаб. На докер хабе можно настроить доступ?
Fat
Подскажите, почему этот слой не кэшируется и выполняется при каждой сборке образа?
Siroga 🇺🇦
Там есть про private repositories
Max xbim 🌴
swarm считается?
Alex
Есть ли какой cheatsheet по настройке топологий сети между контейнерами?
Антон
коллеги, добрый вечер. че-то не пойму, как докеру прокси нормально настроить. делаю все по мануалу, создал /etc/systemd/system/docker.service.d/http-proxy.conf прописал туда: [Service] Environment="HTTPS_PROXY=http://xxxxx" Environment="NO_PROXY=localhost,127.0.0.1,.cr.yandex,.docker.io" перезапустил демона, все ок, прокси работает, но! гонит через прокси все образа при docker pull, а я вот яндексовый и глобальный реджистри хотел бы исключить, пусть напрямую ходит. Может я про NO_PROXY не все знаю?
Dastan
Всем привет, в докере новичок совсем, у меня не получается запустить webpack из терминала. Внутри контейнера он запускается, но когда запускаю docker-compose выдает ошибку webpack.js not found Мой dockerfile FROM node:16.15-buster-slim AS webpack WORKDIR /app/assets ENV BUILD_DEPS="build-essential" \ APP_DEPS="" RUN apt-get update \ && apt-get install -y ${BUILD_DEPS} ${APP_DEPS} --no-install-recommends \ && rm -rf /var/lib/apt/lists/* /user/share/doc /usr/share/man \ && apt-get clean \ && mkdir -p /app/assets/node_modules && chown node:node -R /app/assets/node_modules /app USER node COPY --chown=node:node assets/package.json ./ RUN npm install ARG NODE_ENV="development" ENV NODE_ENV="${NODE_ENV}" \ USER="node" COPY --chown=node:node assets . RUN mkdir -p /app/public CMD ["bash"] Мой docker-compose выглядить таким образом services: webpack: build: context: "." target: "webpack" args: - "NODE_ENV=${NODE_ENV:-production}" command: "npm run watch" env_file: - ".env" restart: "${DOCKER_RESTART_POLICY:-unless-stopped}" stop_grace_period: "3s" tty: true volumes: - ".:/app" И в самом package.json "watch": "node_modules/webpack/bin/webpack.js --mode=development --progress --watch" Менял пути но пока не запускается, если кто то знает куда копать или где искать ответ или сталкивались с таким буду благодарен.
Dastan
Вопрос: должен ли быть node_modules установлен в папке или только в контейнере или там и там?
Vitaly
А не проще сразу в cmd dockerfile прописать то что надо?
Vitaly
Зачем там bash?
Dastan
Зачем там bash?
Сейчас посмотрю
Vitaly
Фронт это обычно набор статических файлов. Не совсем понятно зачем там запуск баша?
Vitaly
Не проще было вместо этого CMD ["bash"] Сделать так? CMD ["npm run watch"]
Vitaly
И из композа command убрать
Dastan
Не проще было вместо этого CMD ["bash"] Сделать так? CMD ["npm run watch"]
шаблон не мой, наверно заглушка, да так тоже работает, спасибо
Dastan
Только в контейнере
Так не работает :(
Vitaly
Там еще учтите что иногда пакеты надо глобально ставить. Но тут я уже не сильно с нодой имел дело
Dastan
Установил на компьютер пакеты и он читает с моего компьютера o_O , вот наверно что то не правильно делаю
Andrej
Есть два приложения на python (телеграм боты) с общими бд Redis и Mongo. На основе моего однодневного опыта с докером вопрос по схеме контейнеризации. Сделать 4 контейнера, питон + питон + Redis + Mongo. У каждой бд сделать volume. Это норм или дичь?)
Andrej
ну а что, нормально, 1 контейнер - 1 сервис.
Если в контейнере пробросить порт (например, в Редис), то снаружи будет доступен Редис как буд-то он просто установлен в систему?
Andrey
Если в контейнере пробросить порт (например, в Редис), то снаружи будет доступен Редис как буд-то он просто установлен в систему?
Ну так можно сделать, но если редис не кому «снаружи» не нужен, то описываете ваши контейнеры-сервисы в docker-compose, наружу порты не пробрасываете и сервисы взаимодействуют по сети докера
Andrej
А приложению внутри контейнера доступен выход в сеть если не пробросить порт?
Andrej
Ну так можно сделать, но если редис не кому «снаружи» не нужен, то описываете ваши контейнеры-сервисы в docker-compose, наружу порты не пробрасываете и сервисы взаимодействуют по сети докера
Т.е. это будет такой способ защиты от внешнего доступа? Я бы хотел подключаться к Редис на сервере (через командную строку, ssh) , т.е. пробросить порт и не делать сеть внутри докера? Если такие условия, то хватит докерфайла без compose?
Andrej
почему нет, да
Спасибо за ответы!
Andrej
я ничего не понял. делайте в docker-compose - примеров много. Доступ к тому редису, без доступного порта снаружи, из консоли по docker exec -it redis redis-cli - или как там
Спасибо, это пока я ничего не понимаю, поэтому вопросы такие. Лучше бы не смотрел ютуб, подозрения, что там некоторые учат, не особо разбираясь в теме.
Shukurillo
Кто-нибудь подключал проект django «docker-compose» к vs code debugger?
Andrej
Докерфайл и компоуз это разные вещи
Для меня компоуз в голове как более продвинутый докерфайл.. 🤕 В котором можно немколько образов соединить в отличии от докерфайла
Andrey
Т.е. это будет такой способ защиты от внешнего доступа? Я бы хотел подключаться к Редис на сервере (через командную строку, ssh) , т.е. пробросить порт и не делать сеть внутри докера? Если такие условия, то хватит докерфайла без compose?
или установил бы 5 сервисом RedisInsight и 6 сервисом nginx с авторизацией хоть basic auth с "пробросом" до RedisInsight - и смотрел бы в свое удовольствие что там в редисе, если так надо
Andrey
dockerfile - это про образы, docker-compose - про контейнеры и сервисы
Null
DevOps meetup online 1. Современный GitOps - противостояние манифестов - Александр Кириллов, Evrone В докладе я расскажу про современный подход GitOps, который объединяет развертывание как инфраструктуры, так и приложений. Расскажу про существующие решения, и как мы в Evrone их используем. И да, мы разворачиваем Kubernets с помощью Kubernetes :) 2. Управляемое потребление ресурсов в крупной инфраструктуре - Антон Губарев, software engineer «Авито» Я расскажу как это устроено в нашем PaaS. Как быстро и эффективно определять limits/requests для каждого деплоя, как считать суммарно потребление по целым юнитам, и как с помощью получившегося механизма мы смогли начать планировать ресурсы. 3. Зачем нужны "облака" и как их правильно использовать - Олег Вознесенский, Газпромбанк Обзор этапов развития ИТ индустрии, приведших к появлению концепции "облаков", с акцентом на паттернах, делающих использование облаков эффективным. ➖➖➖ 🗓 13 июля, начало в 19:00 мск, Среда 🌐 ОНЛАЙН ✅ Регистрация на мероприятие
Fat
Собираю образ, выполняются 21-23 строки. Когда захожу в контейнер не появляется файл который является их результатом. Но если зайдя в контейнер я выполню эти же команды он появляется. ЧЯДНТ?
Fat
Max
Собираю образ, выполняются 21-23 строки. Когда захожу в контейнер не появляется файл который является их результатом. Но если зайдя в контейнер я выполню эти же команды он появляется. ЧЯДНТ?
Мужик, скорее всего это не твой кейс, но, нужно где-то сказать, что Докер на Маке, и, скорее всего на Винде тоже — запускается через виртуалку. И это может приводить к куче фантомных багов. При первой непонятной ситуации, личше всего сразу попробовать перезагрузить сам Докер. Вчера сутки убил, чтоб это понять