TheOneReborn
покажи весь докерфайл
# Use a base image with Selenium and Chrome FROM selenium/standalone-chrome # Set the working directory inside the container WORKDIR /app # Copy the requirements.txt from the project root to the container COPY requirements.txt /app/ # Copy the container script from the dockerfiles directory into the container COPY ./app/dockerfiles/browser_login_container.py /app/scripts/ # Copy the entire scripts directory for access to necessary scripts COPY ./app/scripts /app/scripts/ # Fix permissions for the /var/lib/apt/lists directory USER root RUN mkdir -p /var/lib/apt/lists/partial && \ chmod -R 777 /var/lib/apt/lists # Install Python, pip, and the correct venv package RUN apt-get update && \ apt-get install --no-install-recommends -y python3 python3-pip python3.12-venv && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # Install Xvfb and other necessary packages RUN apt-get update && \ apt-get install -y xvfb && \ apt-get install -y ffmpeg dbus-x11 x11-utils # Create a virtual environment and activate it RUN python3 -m venv /app/venv # Install Python dependencies inside the virtual environment RUN /app/venv/bin/pip install --no-cache-dir -r /app/requirements.txt # Set the virtual environment as the default Python and pip ENV PATH="/app/venv/bin:$PATH" # Run Xvfb as part of the container start CMD ["sh", "-c", "Xvfb :99 -screen 0 1920x1080x24 &> /dev/null & DISPLAY=:99 python3 /app/scripts/browser_login_container.py"]
Ivan
добавь перед смд, и посмотри при сборке, есть ли файл RUN ls -la /app/scripts/
TheOneReborn
добавь перед смд, и посмотри при сборке, есть ли файл RUN ls -la /app/scripts/
Сборку надо заново делать? Потому что сейчас исполняет команду, но ничего не выводится. В логах тоже
Ivan
Сборку надо заново делать? Потому что сейчас исполняет команду, но ничего не выводится. В логах тоже
а в моменте сборки чекай логи, ну или выведи в лог docker-compose build > build.log 2>&1
Ildar
Ребят почему контейнер swagger-ui может не видеть swagger.json который лежит у него? (ls показывает) А видит при рестарте контейнера? Json файл генерируется в другом контейнере. У них общая папка в volume
Ildar
а в логах что?
А в каких? Сваггер когда файловую систему читает молчит же
Ivan
А в каких? Сваггер когда файловую систему читает молчит же
контейнера со сваггером, а ты кэш на ui сваггера чистил?
Ildar
Или как то еще можно? Я в пайплане создаю json. Можно как то командой млжно почистить?
Ivan
Ctrl f5 в браузере - да
да, так ну тут может по факту файла нету при старте сваггера, тут либо задержку на старт сваггера ставить либо проверять есть ли файл и тогда стартовать
Limbend
Искал пример Dockerfile для python:3.9-slim Нашел несколько раз использование такой конструкции FROM python:3.9 AS builder. Зачем она нужна если оба докерфайла дают рабочий контейнер с плюс минус одним размером? FROM python:3.9 AS builder RUN mkdir /app WORKDIR /app ADD ./requirements.txt . RUN pip wheel --no-cache-dir --no-deps --wheel-dir ./wheels -r ./requirements.txt FROM python:3.9-slim LABEL version="0.1" WORKDIR /app COPY --from=builder /app/wheels ./wheels COPY --from=builder /app/requirements.txt . RUN pip install --no-cache ./wheels/* ADD ./backend/ ./backend/ WORKDIR /app/backend/ CMD ["gunicorn", "main:app", "--workers", "1", "--worker-class", "uvicorn.workers.UvicornWorker", "--bind=0.0.0.0:8000"] Второй вариант: FROM python:3.9-slim LABEL version="0.1" WORKDIR /app ADD ./requirements.txt . RUN pip install -r ./requirements.txt ADD ./backend/ ./backend/ WORKDIR /app/backend/ CMD ["gunicorn", "main:app", "--workers", "1", "--worker-class", "uvicorn.workers.UvicornWorker", "--bind=0.0.0.0:8000"]
Ivan
Искал пример Dockerfile для python:3.9-slim Нашел несколько раз использование такой конструкции FROM python:3.9 AS builder. Зачем она нужна если оба докерфайла дают рабочий контейнер с плюс минус одним размером? FROM python:3.9 AS builder RUN mkdir /app WORKDIR /app ADD ./requirements.txt . RUN pip wheel --no-cache-dir --no-deps --wheel-dir ./wheels -r ./requirements.txt FROM python:3.9-slim LABEL version="0.1" WORKDIR /app COPY --from=builder /app/wheels ./wheels COPY --from=builder /app/requirements.txt . RUN pip install --no-cache ./wheels/* ADD ./backend/ ./backend/ WORKDIR /app/backend/ CMD ["gunicorn", "main:app", "--workers", "1", "--worker-class", "uvicorn.workers.UvicornWorker", "--bind=0.0.0.0:8000"] Второй вариант: FROM python:3.9-slim LABEL version="0.1" WORKDIR /app ADD ./requirements.txt . RUN pip install -r ./requirements.txt ADD ./backend/ ./backend/ WORKDIR /app/backend/ CMD ["gunicorn", "main:app", "--workers", "1", "--worker-class", "uvicorn.workers.UvicornWorker", "--bind=0.0.0.0:8000"]
не всегда в слимах хватает библиотек для установки рекваев
🐾
Здравствуйте. Пытаюсь начать работу с nebula graph. При запуске docker compose пишет "panic: Fail to initialize the connection pool, host: graphd, port: 9669, failed to open connection, error: failed to open transport, error: dial tcp [Docker IP]:9669: connect: connection refused " и не отображаются логи во всех контейнерах кроме контейнера консоли (скрин приложу ниже). Подскажите, как можно это исправить? С чем обычно связана такая проблема?
🐾
привет порты забыл
Я извинюясь за глупый вопрос но не совсем понял вас) Я докер только недавно начал осваивать. Вы имеете ввиду что я забыл вам скинуть для понимания ошибки еще порты какие то?
Махмуд
кто-нибудь пользовался https://github.com/louislam/dockge ? это брат-близнец портейнера? или лучше/хуже?
🐾
Нарм Бро😇 всё читай ошибку внимательно ss -tulpn | grep 9669
ошибка связана с тем что не происходит коннект в порту 9669?
Aleksey
А как ее исправить можно?
Вот выкл докер композ пото тот скрип чтотя написал у тебя линукс?
omodotori
Всем привет, я в линукс пыталась запустить докер но он выдает ошибку, уже 6 месяцев прошло никак не могу понять в чем ошибка
omodotori
Можете помочь?
omodotori
omodotori
Я вроде все правильно и по инструкции делала , даже убунту переустанавливала
Интригуешь,
omodotori
пробовала вышла какая та другая ошибка
omodotori
Скрин
Сейчас скину , заново переустанавливаю просто
omodotori
nable to find image 'docker/whalesay:latest' locally latest: Pulling from docker/whalesay docker: [DEPRECATION NOTICE] Docker Image Format v1 and Docker Image manifest version 2, schema 1 support is disabled by default and will be removed in an upcoming release. Suggest the author of docker.io/docker/whalesay:latest to upgrade the image to the OCI Format or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs/. See 'docker run --help'.
omodotori
Написано что это устаревший образ хотя брала я его для проверки с оф сайта
omodotori
Но значит ли что я его установила?
Интригуешь,
Но значит ли что я его установила?
Просто попробуй 'sudo docker run hello-world'
Интригуешь,
Если выведет надпись, то всё хорошо и всё в принципе работает и это означает то, что тот образ, который ты хочешь запустить - автор его не обновлял очень давно
Интригуешь,
Если я правильно понял, то этот образ обновлялся последний раз 9 лет назад
Интригуешь,
https://hub.docker.com/r/docker/whalesay/tags
Интригуешь,
Всё работает
omodotori
Урааа
omodotori
спасибо вам
Интригуешь,
Просто тот image старый
Интригуешь,
спасибо вам
Не за что
omodotori
Просто тот image старый
я в первый раз собираюсь работать докером
omodotori
А что делать дальше ? я не вижу докер, надо будет его настраивать?😭
omodotori
Где желаешь его увидеть?
Мне надо телеграм бот через него создать на языке питон
omodotori
вот только знаю как делать боты а насчёт докера нет
omodotori
куда писать , где писать....
Интригуешь,
Пишешь 'docker ps - a' увидишь запущенные контейнеры docker images - загруженные и лежащие локально image
Интригуешь,
В директории где лежит docker-compose.yml файл выполняешь команду - docker compose up и сервисы, описанные в файле, докер запустит
Интригуешь,
На ютубе же есть многое количество уроков
omodotori
Спасибо что направили
Ed 😴
Здравствуйте, у меня на постоянке работает docker, что будет если я установлю virtualbox и буду запускать на ней windowsXP, одновременно с кучей мелких docker контейнеров. Такое вообще можно?
Ed 😴
спасибо
Максим
VirtualBox 6.0 с поддержкой Hyper-V вышел 6 лет назад
omodotori
На ютубе же есть многое количество уроков
Знаю что сейчас задам максимально тупой вопрос
omodotori
но что мне вбить в поиск что бы вышли такие видео?
Интригуешь,
Docker с нуля Docker compose 'свой язык программирования'
Интригуешь,
но что мне вбить в поиск что бы вышли такие видео?
Как пример можно это глянуть https://youtu.be/O8N1lvkIjig?si=lOi0hnf3A1QZRRDN
x`
у меня на серваке в докере крутиться приложение, вчера все нормально работало, сегодня захожу, сайт упал, перезапускаю докер композ и пишет что бд не существует, оказалось что она куда то просто пропала... Сама дропнулась видимо или что то такое. Кто знает в чем может быть причина или как можно узнать причину, по логам каким то может?
x`
version: '3.8' services: nginx: image: nginx:stable-alpine user: root ports: - "80:80" - "443:443" volumes: - './nginx.conf:/etc/nginx/nginx.conf' - '/etc/letsencrypt:/etc/letsencrypt' depends_on: - paradox_backend - paradox_frontend networks: - default command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'" paradox_db: image: postgres:15.8-alpine container_name: paradox_db ports: - "5432:5432" environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${DB_NAME} volumes: - postgres_data:/var/lib/postgresql/data # - ./paradox.sql:/docker-entrypoint-initdb.d/paradox.sql - ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh restart: on-failure networks: - default healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${DB_NAME}"] interval: 10s timeout: 5s retries: 5 paradox_backend: build: context: ./backend dockerfile: Dockerfile.backend volumes: - ./backend:/app environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - DB_HOST=paradox_db - DB_PORT=${DB_PORT} - DB_NAME=${DB_NAME} - BILEE_SHOP_ID=${BILEE_SHOP_ID} - BILEE_PASSWORD=${BILEE_PASSWORD} - BOT_TOKEN=${BOT_TOKEN} - BOT_URL=${BOT_URL} - CONFIG_PATH=${CONFIG_PATH} restart: on-failure container_name: paradox_backend ports: - 8000:8000 depends_on: paradox_db: condition: service_healthy command: sh -c "alembic upgrade head && uvicorn src.main.main:app --host 0.0.0.0 --port 8000 --reload & python -m src.bot.app.main" networks: - default paradox_frontend: build: context: ./frontend dockerfile: Dockerfile.frontend container_name: paradox_frontend ports: - "3000:3000" volumes: - ./frontend:/app stdin_open: true tty: true depends_on: - paradox_backend environment: - API_URL=http://paradox_backend:8000 networks: - default volumes: postgres_data: networks: default: name: paradox_network driver: bridge
Максим
Ща бы отлаживать композ без .yml И логов
x`
Ща бы отлаживать композ без .yml И логов
а где логи старые можно чекнуть?
Максим
а где логи старые можно чекнуть?
Там же, где и новые - docker logs
Максим
Если кто-то прибивал контейнеры через docker-compose down, да и ещё вольюмы удалил аргументом -v - земля пуховиком
x`
да я блять думал что если я перезапущу то пофикситься как то
x`
оказалось что нет
Максим
down -v?
x`
да
x`
down -v