Jump to content

Развёртывание с Docker Compose где код?


Recommended Posts

version: '3'

services:
cezerin2:
 image: cezerin2/cezerin2
 ports:
   - 3001:80
 environment:
   - DB_HOST=db
   - DB_PORT=27017
   - DB_NAME=shop
   - DB_USER=
   - DB_PASS=
 volumes:
   - ./content-on-host:/var/www/cezerin2/public/content
 depends_on:
   - db
 restart: always

cezerin2-store:
 image: cezerin2/cezerin2-store
 environment:
   - API_BASE_URL=http://cezerin2/api/v1
   - AJAX_BASE_URL=http://cezerin2/ajax
 ports:
   - 3000:80
 depends_on:
   - cezerin2
 restart: always

admin:
 image: cezerin2/cezerin2-admin
 ports:
   - 3002:80
 depends_on:
   - cezerin2
 restart: always

db:
 image: mongo:3.6
 ports:
   - 27017:27017
 volumes:
   - ./db-on-host:/data/db
 restart: always

хочу разобраться docker-compose.yml  запускаются контейнеры всё работает, но в моём каталоге откуда я стартую docker-compose up -d есть только  файл yml   вот такого содержания и каталог с медиа  в котором фото товаров сохраняются которые я добавляю...  Если нет сети то контейнеры не запустятся. Фото слайдера после перезапуска контейнера пропадают. в yml   файле нет ссылки на githab. так и не смог понять как мне менять внешний вид где css, где шаблоны. Я понимаю, что код подкачивается из вне но я не вижу ссылки на это хранилище. Второе я хочу иметь свою ветку разработки  как мне перенастроить yml?  как вообще, что то можно поменять тогда если код с каждым перезапуском контейнера берётся из внешнего хранилища которое непонятно где находится?  

Link to post
Share on other sites
  • Replies 74
  • Created
  • Last Reply

Top Posters In This Topic

  • DXSh

    46

  • support

    29

support
1 час назад, DXSh сказал:

version: '3'

services:
cezerin2:
 image: cezerin2/cezerin2
 ports:
   - 3001:80
 environment:
   - DB_HOST=db
   - DB_PORT=27017
   - DB_NAME=shop
   - DB_USER=
   - DB_PASS=
 volumes:
   - ./content-on-host:/var/www/cezerin2/public/content
 depends_on:
   - db
 restart: always

cezerin2-store:
 image: cezerin2/cezerin2-store
 environment:
   - API_BASE_URL=http://cezerin2/api/v1
   - AJAX_BASE_URL=http://cezerin2/ajax
 ports:
   - 3000:80
 depends_on:
   - cezerin2
 restart: always

admin:
 image: cezerin2/cezerin2-admin
 ports:
   - 3002:80
 depends_on:
   - cezerin2
 restart: always

db:
 image: mongo:3.6
 ports:
   - 27017:27017
 volumes:
   - ./db-on-host:/data/db
 restart: always

хочу разобраться docker-compose.yml  запускаются контейнеры всё работает, но в моём каталоге откуда я стартую docker-compose up -d есть только  файл yml   вот такого содержания и каталог с медиа  в котором фото товаров сохраняются которые я добавляю...  Если нет сети то контейнеры не запустятся. Фото слайдера после перезапуска контейнера пропадают. в yml   файле нет ссылки на githab. так и не смог понять как мне менять внешний вид где css, где шаблоны. Я понимаю, что код подкачивается из вне но я не вижу ссылки на это хранилище. Второе я хочу иметь свою ветку разработки  как мне перенастроить yml?  как вообще, что то можно поменять тогда если код с каждым перезапуском контейнера берётся из внешнего хранилища которое непонятно где находится?  

Если я правильно понял вопрос.

То всё собирается по иснтрукциям в файлах Dockerfile

В каждом репозитории на гитхап есть свой Dockerfile.

Вот для backend'a - https://github.com/Cezerin2/cezerin2/blob/master/Dockerfile

Вот для frontend'a - https://github.com/Cezerin2/cezerin2-store/blob/master/Dockerfile

Вот для dashboard - https://github.com/Cezerin2/cezerin2-admin/blob/master/Dockerfile

 

Вот все исходники докер образов - https://github.com/Cezerin2/docker-cezerin2

Link to post
Share on other sites
1 час назад, support сказал:

То всё собирается по иснтрукциям в файлах Dockerfile

В Docker Compose только yml ? ссылки на гитхаб я не увидел ... 

Link to post
Share on other sites
support
1 час назад, DXSh сказал:

В Docker Compose только yml ? ссылки на гитхаб я не увидел ... 

Ну да, docker compose для своей работы берёт только yml конфиг.

Link to post
Share on other sites
2 часа назад, support сказал:

у да, docker compose для своей работы берёт только yml конфиг.

Как я понял если сервис создается через указание image,  то dockerfile берется из репозитария этого image, точнее docker hub

Link to post
Share on other sites

вот нашёл пример: как образ скачать:

Для начала скачаем официальный node.js образ:
 

docker pull node


Команда docker pull скачивает Docker образ. После этого можно выполнить команду docker run. Это создаст и запустит контейнер на базе скачанного образа.

Link to post
Share on other sites
support
8 часов назад, DXSh сказал:

вот нашёл пример: как образ скачать:

Для начала скачаем официальный node.js образ:
 


docker pull node


Команда docker pull скачивает Docker образ. После этого можно выполнить команду docker run. Это создаст и запустит контейнер на базе скачанного образа.

Понятно.

Но сеть то всё равно нужно, всё равно из инета качать будет что-нибудь, как без сети.

Насколько я понимаю.

 

Link to post
Share on other sites

есть образы которые которые в автомате подкачиваются из докерхаба при старте компоса: 

1)cezerin2/cezerin2  

2)cezerin2/cezerin2-store

3)cezerin2/cezerin2-admin

4)mongo:3.4

как их закачать себе ? команда: docker pull cezerin2/cezerin2   выполняется но куда и как в каком виде сохраняет образ найти не могу. должна в /var/lib/docker

 
Link to post
Share on other sites
support
6 часов назад, DXSh сказал:

есть образы которые которые в автомате подкачиваются из докерхаба при старте компоса: 

1)cezerin2/cezerin2  

2)cezerin2/cezerin2-store

3)cezerin2/cezerin2-admin

4)mongo:3.4

как их закачать себе ? команда: docker pull cezerin2/cezerin2   выполняется но куда и как в каком виде сохраняет образ найти не могу. должна в /var/lib/docker

 

Не знаю.

Но это образы, которые собираются по dockerfile из этих репозиториев:

https://github.com/Cezerin2/docker-cezerin2

Link to post
Share on other sites

Стили и темы оформления располагаются тут /cezerin2-admin/public ?

там такие каталоги: css  data  images  manifest.json  tinymce   

сейчас пробросил каталог public в content-team

прописав в yml

admin:
    image: cezerin2/cezerin2-admin
    environment:
      - LANGUAGE=en
    volumes:
      - ./content-team:/var/www/cezerin2-admin/public  
    ports:
      - 3002:80
    depends_on:
      - cezerin2
    restart: always

только то что надо я получил у себя на локальной машине  или это не то это стили админки ?  теперь мой образ берёт стили из этого каталога ... попробую изменять стили посмотрю, что выйдет 

Link to post
Share on other sites

нет так и не понял где css ... он может в базе ?  структура не понятна + докер вообще не понятно как его под себя затачивать... продукт явно не конечный это платформа для  создании на базе его, значит должен быть функционал как это выполнять .

Link to post
Share on other sites

чтобы использовать этот продукт не хватает описания та документация , что есть она примитивна и ограничивается установкой данной платформы, различными вариантами. массово он не поддерживается. непонятно зачем его разделили даже на уровне контейнеров фронтнед и бэкэнд ни каких плюсов это не даёт а усложняет понимание структуры значительно, для разработки вообще не пригоден, ставить его как есть с примитивной темой на которой даже логотип не прочитать не вижу смысла. + я так понял используют Sass, который потом транслируется в сss. не понятно что вообще хотели создать его разработчики и какое развитие он может получить ? Я вижу так, что отделять фонтенд только в целях удобства разработки на базе этого ... все медиа стили и темы в отдельном каталоге к которому можно указывать пути при старте докера или на локалке или сервере , ядро платформы отдельно. а сейчас вообще не понятно разделение админка, магазин, база и 4й непонятный контейнер так и не понял его смысл ...  

Link to post
Share on other sites
support

Ну я как бы сразу написал, что докер в cezerin на для разработки используется, а для запуска.

Что б по-быстроему запустить cezerin на любом хостинге.

Link to post
Share on other sites

я так и не нашёл информации  о структуре цезерина, какие там шаблоны? где находятся файлы отвечающие за фронт? есть ли типовые шаблоны где они находятся ? 

47 минут назад, support сказал:

Ну я как бы сразу написал, что докер в cezerin на для разработки используется, а для запуска.

если файлы отвечающие за внешний вид лежат в одном каталоге, то их можно перебросить используя volumes: и вносить изменения на своей машине контейнер их будет подгружать, но я так  и не смог понять где расположены шаблоны ...  указано в каталог assets, но я посмотрел в нём пусто, значит файлы шаблона генерируются ? 

многие используют контейнеры для разработки это удобно для развёртывания вы разрабатываете в тех же условиях и зависимостях, в которых и будет работать приложение ... покрайней мере для фронта это будет удобно ... 

Link to post
Share on other sites
support
9 минут назад, DXSh сказал:

я так и не нашёл информации  о структуре цезерина, какие там шаблоны? где находятся файлы отвечающие за фронт? есть ли типовые шаблоны где они находятся ? 

 

cezerin2/cezerin2-store - это приложение магазина.

Шаблон в theme папке.

 

Если Вам нужно "всё в одном", вот есть cezerin2-mono - https://github.com/Cezerin2/cezerin2-mono

Там же по этой ссылке и структура приложение и где, что лежит.

В разделе Application Structure

Link to post
Share on other sites

добавил фото в слайдер через админ панель, после перезагрузки  докера фото пропадают 

<img src="http://localhost:3001/assets/images/Гостевой-дом-сауной-KIDE-6.jpg">

 

Link to post
Share on other sites
support
1 минуту назад, DXSh сказал:

добавил фото в слайдер через админ панель, после перезагрузки  докера фото пропадают 


<img src="http://localhost:3001/assets/images/Гостевой-дом-сауной-KIDE-6.jpg">

 

Я сам с докер версией cezerin особо не работаю.

Видимо, нужно по аналогии с картинками товаров вынести из докера во вне папку assets

Link to post
Share on other sites

а логотип с тем же местом хранения остаётся ... вижу его у себя в каталоге проекта докера 

<img src="http://localhost:3001/assets/images/flame-computer-icons-clip-art-burning-letter-a-png.jpg" alt="логотип">

 

1 минуту назад, support сказал:

Видимо, нужно по аналогии с картинками товаров вынести из докера во вне папку assets

 

<img src="http://localhost:3001/assets/images/slide8.jpg" alt="СВЕЖАЯ ПЕНА КРУЗ">

после перезагрузки докера он пытается взять старые фото которых нет в слайдере ... вот что он ищет после перезагрузки 

фото сохраняет с их названиями в каталог и где то прописывает это, но после рестарта докера эту запись обнуляет, и ищет изначальные фото... 

Link to post
Share on other sites
volumes:
      - ./content-assets-store:/var/www/cezerin2-store/theme/assets
      - ./content-src-store:/var/www/cezerin2-store/theme/src


я монтирую каталоги при старте докера.  

Cейчас создал файл у себя на машине content-src-store ---> зашёл в контейнер sudo docker exec -it id_контейнера sh и там это файл есть DXSH.js ... но что бы я не менял в стилях ничего не происходит в магазине изменяю  /components/header/index.js  и /home/dxsh/cezerin/content-assets-store/scss/header.scss 

изменения в самом контейнере вижу на сайте ничего не меняется. 

mwLl7sED5o4.jpg

Link to post
Share on other sites

ошибку нашёл в контейнере нет 

/var/www/cezerin2-store

там другой каталог /var/www/cezerin

выкачал я каталог: theme

а в каталоге assets там другие файлы не те что в образе cezerin2-store-master

css         js                                                     scss
images      manifest.json                                          sw.js
index.html  precache-manifest.93069322d6c47d6f005f1109a499fb69.js


 

выкачал я каталог: theme из контейнера

Link to post
Share on other sites

при сборке контейнера там генерируются файлы к примеру bundle-946aa822195be462fb21.css ... 

Link to post
Share on other sites
support
8 часов назад, DXSh сказал:

при сборке контейнера там генерируются файлы к примеру bundle-946aa822195be462fb21.css ... 

Это webpack собирает из исходников css, js.

Эти файлы нет смысла трогать, они автоматически генерируемые из исходников.

Шаблон, исходники шаблона в папке theme, нужно файлы в папке theme править если хотите менять внешний вид.

Вот пример магазина на cezerin с изменённым шаблоном - https://plasha.ru

Link to post
Share on other sites
support

WebPack берёт исходники и из исходников собирает вот такие бандлы, сборки, единые файлы.

Что б внети правки в код, правятся исходники, но не скомпилированные файлы.

Link to post
Share on other sites
53 минуты назад, support сказал:

Эти файлы нет смысла трогать, они автоматически генерируемые из исходников.

в какой момент он их генерирует, в контейнере уже другие файлы и если я просто папку theme примонтирую в контейнер будет ошибка, так как в контейнере уже эта папка уже с генерированными данными, а ту что я монтирую нет ... или тогда надо монтировать только те каталоги которые генерируют эти файлы а эти не трогать ... в какой момент происходит генерация этих файлов ? при старте контейнера?  

5 минут назад, support сказал:

Что б внети правки в код, правятся исходники, но не скомпилированные файлы.

я это понимаю?  я хочу сделать так чтобы мне запускать магазин в компосе, но я хочу править файлы у себя с локальной машины и видеть результат для этого я монтирую каталог с локальной машины в контейнер. Но столкнулся с такой проблемой что цезерин гинерит файлы из исходников, а тот каталог который я монтирую в нём нет этих файлов это вызывает ошибку... я выкачал все эти файлы сгенерированные из контейнера и закачал в свой каталог на локальной машине всё заработало .... это неправильно, но это значит что можно примонтировать каталоги только с исходниками и менять их а они будут в контейнере генерировать уже файлы шаблона...  плюсы очевидны разворачивание магазина в одну две команды команду на любой машине, разработка и тест его в тех же условиях в которых он будет работать ... мне нужна информация какие файлы в каких каталогах, что генерируют чтобы там где лежат с генерированные файлы оставить и не трогать. К примеру assets нельзя монтировать там эти файлы есть поэтому и фото товаров хранятся в другом контейнере а не в нём ... 

Link to post
Share on other sites
support

Без переделки всего cezerin + docker окружения.

Без настройки с нуля под себя вряд ли что-то получится.

imho

Link to post
Share on other sites

×
×
  • Create New...