Dan
Можно, но нежелательно
Dlazder
Здравствуйте, столкнулся со странной проблемой, файл как будто бы не корректно копируется в контейнер. Получаю такую ошибку при запуске: PS C:\Users\elise\OneDrive\Desktop\catalog-name> docker run -it --name app -v C:/Users/user/OneDrive/Desktop/catalog-name/:/app image "pm ERR! Missing script: "build npm ERR! npm ERR! Did you mean this? npm ERR! npm run build # run the "build" package script npm ERR! npm ERR! To see a list of scripts, run: npm ERR! npm run Вот так вот выглядит Dockerfile: FROM node WORKDIR /app VOLUME [ "/app" ] COPY package.json ./ RUN npm install COPY ./send-to-remote.sh /app/send-to-remote.sh CMD ["sh", "./send-to-remote.sh"] И вот файл send-to-remote.sh #!/bin/sh npm run build scp -r /app/.next root@123.23.23.23:/root/catalog-name На другом пк все работает нормально, кто знает, что это может быть?
Dlazder
Solyar
Оба на винде
Что за директорию ты монтируешь в контейнер? Там есть все файлы ?
Aleksey
Оба на винде
Вот комет сверху чот с путями похоже
Алексей
Dlazder
а зачем тогда команда COPY package.json ./ ?
Это оставил чтобы node modules из кеша подтягивались. Сам не понимаю как это работает, но работает
Алексей
Но у тебя странная команда с подключением вольюма, не помню что там будет из-за двух двоеточий без кавычек
Dlazder
Но у тебя странная команда с подключением вольюма, не помню что там будет из-за двух двоеточий без кавычек
Ну чатгпт сказал что эту команду можно вообще убрать, volume то при создании контейнера прокидывается
Dlazder
а зачем тогда команда COPY package.json ./ ?
А, забыл что то, при создании образа зависимости надо поставить же
Dlazder
Сейчас еще раз проверил на другом пк, там все работает. Играет ли роль то что там 10 винда а тут 11? Может стоит просто переустановить докер?
Dlazder
Видоизменил файл send-to-remote.sh #!/bin/sh echo ======== npm run echo ======== npm run build scp -r /app/.next root@123.12.12.12:/root/folder-name Чтобы вывести все поддерживаемые команды и получаю вот это: ======== "nknown command: "run To see a list of supported npm commands, run: npm help ======== Файл как будто бы действительно неправильно копируется
Dlazder
npm run и что ты тут ожидаешь?
Должно вывести список команд из package.json
Dlazder
а причем сдесь докер?
да при том, что он файл неправильно копирует
Ilya
видимо
Akane
может удалишь это VOLUME [ "/app" ]?
Dlazder
может удалишь это VOLUME [ "/app" ]?
Уже удалил, не помогло
Dlazder
На втором пк без него все работает
Dlazder
удали нод имейдж, пересобери образ
образ я постоянно пересобираю. А как удалить образ node? он закешировался
Akane
docker image rm
Akane
можешь в принципе переустановить системму
Akane
на другую
Dlazder
docker image rm
Свой image я удалил, но сам node остался
Dlazder
Свой image я удалил, но сам node остался
Просто при создании нового образа в первый раз долго скачивается он, а сейчас быстро подтягивается
Akane
Винду переустановить?
линь поставить
Dlazder
линь поставить
Не могу себе такого позволить пока что)
Dlazder
Заработало...
Dlazder
Сначала видоизменил докерфайл, убрал запуск башскрипта, заработало. Решил просто создать контейнер без указания имени, потому что лень было и все заработало)
Владимир
Не могу себе такого позволить пока что)
Забей, у красноглазиков один совет..
Akane
Забей, у красноглазиков один совет..
зато дельный, пока вы там со своими шиндовасами ебетесь, мы все одной. кнопочкой делаем
Akane
пути линуха неисповедимы
Владимир
Akane
можно на ескейп забиндить посыоание нахуй
Akane
Жрать говно?)
и это говорит мне виндозник
Akane
ваще лучшая ос для людей это макось
Alex
ваще лучшая ос для людей это макось
там говорят щас с докером проблемы
Alex
из за арм
Владимир
ваще лучшая ос для людей это макось
Жрать говно за оверпрайс, неплохо неплохо
Akane
там говорят щас с докером проблемы
ваще нет, ну разве что ты виндоразработчик или пишешь на дотнете
Akane
макось бесплатная, в отличии от некоторых
Владимир
и это говорит мне виндозник
Грешен, подловила. Иногда приходится жрать линуксовое говно
Alex
ваще нет, ну разве что ты виндоразработчик или пишешь на дотнете
https://www.reddit.com/r/ExperiencedDevs/comments/11jmsqi/hows_the_m2_max_for_docker_development/ почитай тред
Alex
?
Akane
?
старый тред
Alex
старый тред
думаешь за год всё сильно изменилось?
Akane
да)
Akane
ну и опять же это очень от кейса зависит, если тебе нужно чтото специфичное под х86 ну или как чел там писал либы под tensorflow то ясен хер что оно будет медленнее, но в большинстве случаев все норм
🥔𝕴𝖒𝖔𝖓🥔
Подскажите пожалуйста решение проблемы. у меня есть просто докер файл FROM eclipse-temurin:17-jdk-alpine COPY ./build/libs/GeoMapping-0.0.1-SNAPSHOT.jar app ENTRYPOINT ["java","-jar","/app.jar"] так же есть докер компоус в котором у меня подключен постгрес и это докер файл. Когда я запускаю докер файл, все работает и приложение запускается. В свою очередь когда я запускаю докер компоус у меня пишет это => ERROR [backend 2/2] COPY ./build/libs/GeoMapping-0.0.1-SNAPSHOT.jar /app/
🥔𝕴𝖒𝖔𝖓🥔
После этого я нашел на стэк оверфлоу решение, но из него вытекает другая ошибка. Стэк оверфлоу: https://stackoverflow.com/questions/74475884/docker-sometimes-cannot-see-jar-file Ошибка такая postgresql_conatiner | 2024-02-18 07:38:16.705 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 postgresql_conatiner | 2024-02-18 07:38:16.705 UTC [1] LOG: listening on IPv6 address "::", port 5432 postgresql_conatiner | 2024-02-18 07:38:16.784 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" postgresql_conatiner | 2024-02-18 07:38:16.944 UTC [29] LOG: database system was shut down at 2024-02-18 07:38:11 UTC postgresql_conatiner | 2024-02-18 07:38:17.037 UTC [1] LOG: database system is ready to accept connections testapp_container | Error: Unable to access jarfile /app.jar testapp_container | Error: Unable to access jarfile /app.jar у меня нормально создался контейнер с пострегрессом, но так не не нахоидтся джар файл. Первое что я сделал это вмонтировал директорию с джар файлом в докер компоус. volumes: - ./build/libs:/app после чего изменил докер файл FROM eclipse-temurin:17-jdk-alpine RUN mkdir /app WORKDIR /app ENTRYPOINT ["java","-jar","/app/GeoMapping-0.0.1-SNAPSHOT.jar"]
🥔𝕴𝖒𝖔𝖓🥔
По логике, я вмонтировал папку с джарником в контейнер, далее запускаю его через докер файл(точно указав имя), но почему-то не находит
🥔𝕴𝖒𝖔𝖓🥔
Где вы его вмонтировали?
добавил в докер компоус это volumes: - ./build/libs:/app вот полный файл докер компоус если нужно version: "3.9" services: redis: image: redis ports: - "6379:6379" db: ports: - 5432:5432 container_name: postgresql_conatiner image: postgres environment: - POSTGRES_DB=testListDatabase2 - POSTGRES_PASSWORD=123 - POSTGRES_USER=postgres volumes: - D:\postgres_datapart:/var/lib/postgresql/data restart: always backend: build: . container_name: testapp_container volumes: - ./build/libs:/app ports: - 8089:8089 environment: db-url: jdbc:postgresql://db:5432/MYDB2 db-username: admin2 db-password: admin2 depends_on: - db restart: always
central
И по этому относительному пути нужный файл есть?
🥔𝕴𝖒𝖔𝖓🥔
И по этому относительному пути нужный файл есть?
на счет ненужных файлов не знаю, но он не видит джар файл. Вот какая иерархия папок у меня в проекте
Solyar
После этого я нашел на стэк оверфлоу решение, но из него вытекает другая ошибка. Стэк оверфлоу: https://stackoverflow.com/questions/74475884/docker-sometimes-cannot-see-jar-file Ошибка такая postgresql_conatiner | 2024-02-18 07:38:16.705 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 postgresql_conatiner | 2024-02-18 07:38:16.705 UTC [1] LOG: listening on IPv6 address "::", port 5432 postgresql_conatiner | 2024-02-18 07:38:16.784 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" postgresql_conatiner | 2024-02-18 07:38:16.944 UTC [29] LOG: database system was shut down at 2024-02-18 07:38:11 UTC postgresql_conatiner | 2024-02-18 07:38:17.037 UTC [1] LOG: database system is ready to accept connections testapp_container | Error: Unable to access jarfile /app.jar testapp_container | Error: Unable to access jarfile /app.jar у меня нормально создался контейнер с пострегрессом, но так не не нахоидтся джар файл. Первое что я сделал это вмонтировал директорию с джар файлом в докер компоус. volumes: - ./build/libs:/app после чего изменил докер файл FROM eclipse-temurin:17-jdk-alpine RUN mkdir /app WORKDIR /app ENTRYPOINT ["java","-jar","/app/GeoMapping-0.0.1-SNAPSHOT.jar"]
mkdir лишний (бесполезная команда)
🥔𝕴𝖒𝖔𝖓🥔
убрал, но та же ошибка вылезает
Solyar
Это советы к тому когда ты собрал жарник и Dockerfile просто в контейнер его забирает
🥔𝕴𝖒𝖔𝖓🥔
Поменял, но так же ошибка FROM eclipse-temurin:17-jdk-alpine COPY /app/GeoMapping-0.0.1-SNAPSHOT.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"]
Solyar
Поменял, но так же ошибка FROM eclipse-temurin:17-jdk-alpine COPY /app/GeoMapping-0.0.1-SNAPSHOT.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"]
Криво поменял ты скопировать должен в /app.jar а ты скопировал в app.jar
🥔𝕴𝖒𝖔𝖓🥔
Может я как-то не правильно понял суть монтирования в контейнер директории 1. докер компоус создает контейнер, в него добавляется дирректория 2. докер файл внутри контейнера уже не может видеть такой путь (./build/libs/GeoMapping-0.0.1-SNAPSHOT.jar) а видит то что я вмонтировал - ./build/libs:/app
Solyar
Слеш потерял