Sign in to follow this  
DXSh

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

Recommended Posts

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?  как вообще, что то можно поменять тогда если код с каждым перезапуском контейнера берётся из внешнего хранилища которое непонятно где находится?  

Share this post


Link to post
Share on other sites
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

Share this post


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

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

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

Share this post


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

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

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

Share this post


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

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

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

Share this post


Link to post
Share on other sites
DXSh

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

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

docker pull node


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

Share this post


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

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

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


docker pull node


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

Понятно.

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

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

 

Share this post


Link to post
Share on other sites
DXSh

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

1)cezerin2/cezerin2  

2)cezerin2/cezerin2-store

3)cezerin2/cezerin2-admin

4)mongo:3.4

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

 

Share this post


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

Share this post


Link to post
Share on other sites
DXSh

Стили и темы оформления располагаются тут /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

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

Share this post


Link to post
Share on other sites
DXSh

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

Share this post


Link to post
Share on other sites
DXSh

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

Share this post


Link to post
Share on other sites
support

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

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

Share this post


Link to post
Share on other sites
DXSh

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

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

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

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

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

Share this post


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

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

 

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

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

 

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

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

В разделе Application Structure

Share this post


Link to post
Share on other sites
DXSh

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

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

 

Share this post


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

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


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

 

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

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

Share this post


Link to post
Share on other sites
DXSh

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

<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="СВЕЖАЯ ПЕНА КРУЗ">

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

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

Share this post


Link to post
Share on other sites
DXSh
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

Share this post


Link to post
Share on other sites
DXSh

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

/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 из контейнера

Share this post


Link to post
Share on other sites
DXSh

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

Share this post


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

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

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

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

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

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

Share this post


Link to post
Share on other sites
support

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

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

Share this post


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

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

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

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

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

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

Share this post


Link to post
Share on other sites
support

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

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

imho

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this