Size: a a a

Docker — русскоговорящее сообщество

2020 June 19

V

Vitaly in Docker — русскоговорящее сообщество
Переслано от Vitaly
Создаю контейнер с Mysql
   # The Database
 database:
   image: mysql:5.7
   volumes:
     - dbdata:/var/lib/mysql
     - ./laravel.sql:/docker-entrypoint-initdb.d/laravel.sql:ro
   environment:
     - "MYSQL_ROOT_PASSWORD=password"
     - "MYSQL_DATABASE=laravel"
     - "MYSQL_USER=root"
   ports:
       - "33061:3306"
при первом старте все нормально отрабатывает и создается из дампа необходимая база laravel, но если потом удалить базу laravel из контейнера mysql, то при ребилде образов и рестарте контейнера база уже не создается , приходится заходить в контейнер и ручками создавать, Как можно сделать автоматом, чтобы при после ребилда например поднимался требуемый дамп?
источник

AD

Alex Demidov in Docker — русскоговорящее сообщество
Vitaly
Переслано от Vitaly
Создаю контейнер с Mysql
   # The Database
 database:
   image: mysql:5.7
   volumes:
     - dbdata:/var/lib/mysql
     - ./laravel.sql:/docker-entrypoint-initdb.d/laravel.sql:ro
   environment:
     - "MYSQL_ROOT_PASSWORD=password"
     - "MYSQL_DATABASE=laravel"
     - "MYSQL_USER=root"
   ports:
       - "33061:3306"
при первом старте все нормально отрабатывает и создается из дампа необходимая база laravel, но если потом удалить базу laravel из контейнера mysql, то при ребилде образов и рестарте контейнера база уже не создается , приходится заходить в контейнер и ручками создавать, Как можно сделать автоматом, чтобы при после ребилда например поднимался требуемый дамп?
при ребилде volume не удаляются, поэтому их надо грохать ручками
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
Эд
в Dockerfile указано VOLUME /../.../workspace/microservices/build/libs/:/home/libs. Пути в проекте нет такого: /../.../workspace/microservices/build/libs/. Вот я подумал, мб эти файлы нужны были для запуска ранней версии проекта без docker-compose и их можно тупо удалить
Пришли целиком Dockerfile
источник

Э

Эд in Docker — русскоговорящее сообщество
FROM java:8-jre
VOLUME /..../..../....../microservices/build/libs/:/home/libs
CMD ["java", "-Xmx200m", "-jar", "/home/libs/my_service-0.1.0.jar"]
HEALTHCHECK --interval=10s --timeout=3s CMD curl -f http://localhost:3021/health || exit 1
EXPOSE 3021
источник

V

Vitaly in Docker — русскоговорящее сообщество
Alex Demidov
при ребилде volume не удаляются, поэтому их надо грохать ручками
volume я грохал ручками, это первое что я нашел в гугле по аналогичной задаче   .. но тем не менее скрипт не отрабатывал ..
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
/..../..../....../microservices/build/libs — это вольюм. Он должен быть и лежать у тебя на хосте. Точек что-то много
источник

Э

Эд in Docker — русскоговорящее сообщество
Эд
FROM java:8-jre
VOLUME /..../..../....../microservices/build/libs/:/home/libs
CMD ["java", "-Xmx200m", "-jar", "/home/libs/my_service-0.1.0.jar"]
HEALTHCHECK --interval=10s --timeout=3s CMD curl -f http://localhost:3021/health || exit 1
EXPOSE 3021
при этом в проекте есть docker-compose.yml
источник

Э

Эд in Docker — русскоговорящее сообщество
Egor Urvanov
/..../..../....../microservices/build/libs — это вольюм. Он должен быть и лежать у тебя на хосте. Точек что-то много
я заменил папки на точки
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
Зачем?
источник

Э

Эд in Docker — русскоговорящее сообщество
я не знаю, можно ли шарить код с проекта
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
/..../..../....../microservices/build/libs — здесь, очевидно, должны быть либы
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
Если их нет, то это странно
источник

Э

Эд in Docker — русскоговорящее сообщество
их нету
источник

Э

Эд in Docker — русскоговорящее сообщество
вот я и подумал, что этот файл уже не юзается
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
Т.е. папка по пути будет внутри докера ровно такая же
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
Т.е. она мапится один в один
источник

Э

Эд in Docker — русскоговорящее сообщество
разве в докере в контейнере она не будет в /home/libs?
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
Эд
разве в докере в контейнере она не будет в /home/libs?
У Вас так указано
источник

_:

_Ryner' :: IO ❄️ in Docker — русскоговорящее сообщество
Я запускаю приложение с помощью:

docker run -a STDOUT -p 1337:1337 icr-backend "nix-shell --run 'cd server && stack run' --arg development false"

Оно работает как мне нужно, НО я не могу остановить этот процесс с помощью ctrl + c и тд, там какой-то флаг нужно прописать?
источник

_:

_Ryner' :: IO ❄️ in Docker — русскоговорящее сообщество
Или я вообще не так это делаю?
источник