Перейти к содержанию
Форум поддержки пользователей VamShop

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


Рекомендуемые сообщения

root@vps-65623:~/cezerin# sudo docker exec -it 098087907a8c sh
# ls
Dockerfile  README.md  dist  locales  nginx	    package-lock.json  postcss.config.js  public   src	  webpack.config.store.js
LICENSE     config     docs  logs     node_modules  package.json       process.json	  scripts  theme
# cd logs
# ls
README.md  server.log
# nl server.log
     1	{"message":"Store running at http://localhost:3000","level":"info"}
# 

 

root@vps-65623:~# sudo docker exec -it 098087907a8c sh
# ls
Dockerfile  README.md  dist  locales  nginx	    package-lock.json  postcss.config.js  public   src	  webpack.config.store.js
LICENSE     config     docs  logs     node_modules  package.json       process.json	  scripts  theme
# nl Dockerfile
     1	FROM node:8
     2	MAINTAINER Nitin Goyal <nitingoyal.dev@gmail.com>
       
     3	ENV NGINX_CODENAME stretch
     4	ENV STORE_PORT 3000
       
     5	# install requirements and NGINX
     6	RUN echo "deb http://nginx.org/packages/debian/ ${NGINX_CODENAME} nginx" >> /etc/apt/sources.list \
     7		&& apt-get update && apt-get install --no-install-recommends --no-install-suggests -y --force-yes \
     8			gettext-base\
     9			bash \
    10			zip \
    11			unzip \
    12			wget \
    13			curl \
    14			nano \
    15			ca-certificates \
    16			nginx
       
    17	# install PM2
    18	RUN npm install pm2 -g
       
       
    19	RUN mkdir -p /var/www/cezerin2-store 
       
    20	WORKDIR /var/www/cezerin2-store 
       
    21	COPY . /var/www/cezerin2-store 
       
    22	# Nginx config
    23	COPY nginx/nginx.conf /etc/nginx/
    24	COPY nginx/default.conf.template /etc/nginx/conf.d/
       
    25	# script to run Nginx and PM2
    26	COPY docker-entrypoint.sh /usr/local/bin/
    27	RUN chmod +x "/usr/local/bin/docker-entrypoint.sh"
       
    28	# build project
    29	RUN cd /var/www/cezerin2-store \
    30		&& npm install \
    31		&& npm run build
       
       
    32	EXPOSE 80
       
    33	# start Nginx, PM2
    34	ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
# pwd
/var/www/cezerin
# 

 

не могу понять в докерфайле указано 

RUN mkdir -p /var/www/cezerin2-store 

а в контейнере /var/www/cezerin

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 74
  • Created
  • Последний ответ

Top Posters In This Topic

  • DXSh

    46

  • support

    29

27 минут назад, DXSh сказал:

root@vps-65623:~/cezerin# sudo docker exec -it 098087907a8c sh
# ls
Dockerfile  README.md  dist  locales  nginx	    package-lock.json  postcss.config.js  public   src	  webpack.config.store.js
LICENSE     config     docs  logs     node_modules  package.json       process.json	  scripts  theme
# cd logs
# ls
README.md  server.log
# nl server.log
     1	{"message":"Store running at http://localhost:3000","level":"info"}
# 

 


root@vps-65623:~# sudo docker exec -it 098087907a8c sh
# ls
Dockerfile  README.md  dist  locales  nginx	    package-lock.json  postcss.config.js  public   src	  webpack.config.store.js
LICENSE     config     docs  logs     node_modules  package.json       process.json	  scripts  theme
# nl Dockerfile
     1	FROM node:8
     2	MAINTAINER Nitin Goyal <nitingoyal.dev@gmail.com>
       
     3	ENV NGINX_CODENAME stretch
     4	ENV STORE_PORT 3000
       
     5	# install requirements and NGINX
     6	RUN echo "deb http://nginx.org/packages/debian/ ${NGINX_CODENAME} nginx" >> /etc/apt/sources.list \
     7		&& apt-get update && apt-get install --no-install-recommends --no-install-suggests -y --force-yes \
     8			gettext-base\
     9			bash \
    10			zip \
    11			unzip \
    12			wget \
    13			curl \
    14			nano \
    15			ca-certificates \
    16			nginx
       
    17	# install PM2
    18	RUN npm install pm2 -g
       
       
    19	RUN mkdir -p /var/www/cezerin2-store 
       
    20	WORKDIR /var/www/cezerin2-store 
       
    21	COPY . /var/www/cezerin2-store 
       
    22	# Nginx config
    23	COPY nginx/nginx.conf /etc/nginx/
    24	COPY nginx/default.conf.template /etc/nginx/conf.d/
       
    25	# script to run Nginx and PM2
    26	COPY docker-entrypoint.sh /usr/local/bin/
    27	RUN chmod +x "/usr/local/bin/docker-entrypoint.sh"
       
    28	# build project
    29	RUN cd /var/www/cezerin2-store \
    30		&& npm install \
    31		&& npm run build
       
       
    32	EXPOSE 80
       
    33	# start Nginx, PM2
    34	ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
# pwd
/var/www/cezerin
# 

 

не могу понять в докерфайле указано 


RUN mkdir -p /var/www/cezerin2-store 

а в контейнере /var/www/cezerin

Не знаю, так глубоко я не копался в настройках докер запуска cezerin'a, вряд ли подскажу.

Могу лишь сказать, что всё точно находится на гитхабе, в репозиториях, по идее.

Может там где-то в каком-то конфиге сидит эта строка.

Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, support сказал:

Могу лишь сказать, что всё точно находится на гитхабе, в репозиториях, по идее.

этот докерфайл уже из контейнера взят 

это только cezerin2-store в других контейнерах совпадает .. это явно ошибка, 

Ссылка на сообщение
Поделиться на другие сайты

http://83.166.241.132:3000/ вывел каталоги с конфигами из контейнера по образу темы. Пути подцепил , но теперь ошибка не реагирует на события т. Е. Щеллкаешь по товару или ссылке,ссылка меняться а обновление страницы не происходит что то в конфигах задел наверное . 

 

Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, DXSh сказал:

http://83.166.241.132:3000/ вывел каталоги с конфигами из контейнера по образу темы. Пути подцепил , но теперь ошибка не реагирует на события т. Е. Щеллкаешь по товару или ссылке,ссылка меняться а обновление страницы не происходит что то в конфигах задел наверное . 

 

Посмотрите в консоли браузера.

Видно, что у Вас не указан нормаьлно адрес API

http://localhost:3001/ajax/products?category_id&fields=path%2Cid%2Cname%2Ccategory_id%2Ccategory_name%2Csku%2Cimages%2Cenabled%2Cdiscontinued%2Cstock_status%2Cstock_quantity%2Cprice%2Con_sale%2Cregular_price%2Cattributes%2Ctags&ids&limit=8&offset=0&on_sale&price_from&price_to&search&sku&sort=-date_updated&tags

и поэтому ошибка.

Не может получить данные о товарах.

Должно же быть: http://83.166.241.132:3001/ajax/products?category_id&fields=path%2Cid%2Cname%2Ccategory_id%2Ccategory_name%2Csku%2Cimages%2Cenabled%2Cdiscontinued%2Cstock_status%2Cstock_quantity%2Cprice%2Con_sale%2Cregular_price%2Cattributes%2Ctags&ids&limit=8&offset=0&on_sale&price_from&price_to&search&sku&sort=-date_updated&tags

Видимо, при стартей контейнерами не была указана переменная: 

-e API_BASE_URL=http://83.166.241.132:3001/api/vi

т.е. адрес API не был указан.

Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, DXSh сказал:

Спасибо. Да где-то накосячил. 

Не за что, ну это точно мелочь.

Раз в целом уже запустилось.

Надо просто адрес правильно указать и всё.

В cezerin2-store приложении это надо делать.

Ссылка на сообщение
Поделиться на другие сайты

В этих файлах эту переменную указал верно. 

admin.js

server.js

store.production.js

 дб_хост 

Но в cezerin2/config/server.js дб_хост  указан локальный ip, его тоже поменял, может в этом дело 

// config used by server side only
const dbHost = process.env.DB_HOST || "127.0.0.1";
const dbPort = process.env.DB_PORT || 27017;
const dbName = process.env.DB_NAME || "shop";
const dbUser = process.env.DB_USER || "";
const dbPass = process.env.DB_PASS || "";
const dbCred =
  dbUser.length > 0 || dbPass.length > 0 ? `${dbUser}:${dbPass}@` : "";

 

Ссылка на сообщение
Поделиться на другие сайты
cezerin2-store:
    image: cezerin2/cezerin2-store
    environment:
      - LANGUAGE=ru
      - API_BASE_URL=http://cezerin2/api/v1
      - AJAX_BASE_URL=http://cezerin2/ajax

Эти переменные в yml 

Ссылка на сообщение
Поделиться на другие сайты
21 минуту назад, DXSh сказал:

cezerin2-store:
    image: cezerin2/cezerin2-store
    environment:
      - LANGUAGE=ru
      - API_BASE_URL=http://cezerin2/api/v1
      - AJAX_BASE_URL=http://cezerin2/ajax

Эти переменные в yml 

Вот здесь пример yml конфига - https://github.com/Cezerin2/docker-cezerin2/tree/master/cezerin2-proxy

Может такой конфиг попробовать.

Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, support сказал:

http://cezerin2/api/v1

Что это за путь ? 

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

API_BASE_URL=http://cezerin2/api/v1

Вместо cezerin  ip тут указывать хоста на 3001 порт? 

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, DXSh сказал:

Что это за путь ? 

Вместо cezerin  ip тут указывать хоста на 3001 порт? 

Да, по идее, надо указать http://83.166.241.132:3001/api/vi

Ссылка на сообщение
Поделиться на другие сайты

теперь путь прописывается правильно,  завтра опишу в чём дело было, но на хосте не работает запускается на клик мышкой не реагирует http://83.166.241.132:3000/p

админка летает там без проблем ... сам  магазин не работает посмотрел логи контейнера магазина там нет сообщений ...

лог бекэнда 

2020-04-24T21:54:09: PM2 log: [--no-daemon] Continue to stream logs
2020-04-24T21:54:09: PM2 log: [--no-daemon] Exit on target PM2 exit pid=1
21:55:02 0|api  | info: API running at http://localhost:3001
21:55:02 0|api  | info: MongoDB connected successfully

 

лог админки 

> cezerin2-admin@0.35.0 build /var/www/cezerin2-admin
> webpack --config webpack.config.js --mode production

Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Hash: 9fffb8759e3b4e1fd525
Version: webpack 4.29.6
Time: 352703ms
Built at: 2020-04-24 22:00:45
                                                        Asset       Size  Chunks                    Chunk Names
                                                     404.html    4.5 KiB          [emitted]         
                               assets/css/flexboxgrid.min.css     14 KiB          [emitted]         
                                         assets/css/style.css   5.22 KiB          [emitted]         
                                     assets/data/countries.js   4.71 KiB          [emitted]         
                                    assets/data/currencies.js   4.32 KiB          [emitted]         
                                     assets/data/timezones.js   46.5 KiB          [emitted]         
         assets/images/apps/facebook-customer-chat-plugin.png    637 KiB          [emitted]  [big]  

 

Ссылка на сообщение
Поделиться на другие сайты
8 часов назад, DXSh сказал:

теперь путь прописывается правильно,  завтра опишу в чём дело было, но на хосте не работает запускается на клик мышкой не реагирует http://83.166.241.132:3000/p

 

По категориям кликает.

Но всё равно, товары не показывается потмоу что пытается грузить товары с адреса: http://localhost:3001/ajax/products?category_id=5e88ee1fd16c59003ef44532&fields=path%2Cid%2Cname%2Ccategory_id%2Ccategory_name%2Csku%2Cimages%2Cenabled%2Cdiscontinued%2Cstock_status%2Cstock_quantity%2Cprice%2Con_sale%2Cregular_price%2Cattributes%2Ctags%2Cposition&limit=30&offset=0&on_sale&price_from=0&price_to=0&search&sort=stock_status%2Cprice%2Cposition

т.е. не поменялся адрес API почему-то.

Может тогда вообще попробовать в cezerin2-store/config/store.js поменять так, убрав переменные:

	ajaxBaseUrl: 'http://83.166.241.132:3000/ajax',
	// used by Store (server side)
	apiBaseUrl: 'http://83.166.241.132:3001/api/v1',

и в cezerin2-store/config/server.js:

	ajaxBaseUrl: 'http://83.166.241.132:3000/ajax'

В Админке - Настройки - Общие.

В опции Домен как прописан домен?!

По идее, должно быть что-то вроде: http://83.166.241.132:3000

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, support сказал:

По идее, должно быть что-то вроде: http://83.166.241.132:3000

да в админке так и прописан.

уже не знаю  откуда он его берёт  http://localhost:3001/

 

2 часа назад, support сказал:

ajaxBaseUrl: 'http://83.166.241.132:3000/ajax'

ajaxBaseUrl:  порт у меня 3001 ... 

Ссылка на сообщение
Поделиться на другие сайты
# node 
> console.log(process.env)
{ STORE_PORT: '3000',
  LANGUAGE: 'ru',
  NGINX_CODENAME: 'stretch',
  NODE_VERSION: '8.17.0',
  HOSTNAME: '967454a27a43',
  YARN_VERSION: '1.21.1',
  HOME: '/root',
  TERM: 'xterm',
  AJAX_BASE_URL: 'http://83.166.241.132:3001/ajax',
  PATH: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
  CEZERIN_VERSION: 'master',
  API_BASE_URL: 'http://83.166.241.132:3001/api/v1',
  PWD: '/var/www/cezerin' }

Это окружение в контейнере магазина cezerin2-store

Ссылка на сообщение
Поделиться на другие сайты
 cd server.log
sh: 4: cd: can't cd to server.log
# nl server.log
     1	{"message":"API running at http://localhost:3001","level":"info"}
     2	{"message":"MongoDB connected successfully","level":"info"}
# 

это в логе на бэкэнде ... 

в файле ~/cezerin2-master/src/index.js

app.use(responseTime());
app.use(cookieParser(settings.cookieSecretKey));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use("/ajax", ajaxRouter);
app.use("/api", apiRouter);
app.use(logger.sendResponse);

const server = app.listen(settings.apiListenPort, () => {
  const serverAddress = server.address();
  winston.info(`API running at http://localhost:${serverAddress.port}`);
});

dashboardWebSocket.listen(server);

 

Ссылка на сообщение
Поделиться на другие сайты

не смог победить эту проблему, в контейнерах все ip как надо но в файле который генерирует вебпак прописан локальный хост... я уже поиском смотрел по контейнерам там localhost только в документации, модулях node и в этом файле js. 

Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, DXSh сказал:

не смог победить эту проблему, в контейнерах все ip как надо но в файле который генерирует вебпак прописан локальный хост... я уже поиском смотрел по контейнерам там localhost только в документации, модулях node и в этом файле js. 

Да, очень странно.

Ссылка на сообщение
Поделиться на другие сайты
9 часов назад, support сказал:

Прописан только в одном месте в этом генерируемом файле, знать бы в какой момент он генерируется ? Вебпаком . Принудительно его в консоли стартануть ещё раз ...  Я думаю в самих образах прописан локальный адрес, когда я запускаю контейнеры он берет данные от туда но после того как контейнер создан он монтирует файлы конфигурации с сервера... + Переменные окружения ещё задаются в yml. Вот думаю на тот момент когда вебпак создаёт эти файлы там ещё локалхост. И этот файл настолько большой там много кода, что я думаю не кеширует ли он его вообще жёстко ... Где-то ещё ... 

Ссылка на сообщение
Поделиться на другие сайты
36 минут назад, DXSh сказал:

Прописан только в одном месте в этом генерируемом файле, знать бы в какой момент он генерируется ? Вебпаком . Принудительно его в консоли стартануть ещё раз ...  Я думаю в самих образах прописан локальный адрес, когда я запускаю контейнеры он берет данные от туда но после того как контейнер создан он монтирует файлы конфигурации с сервера... + Переменные окружения ещё задаются в yml. Вот думаю на тот момент когда вебпак создаёт эти файлы там ещё локалхост. И этот файл настолько большой там много кода, что я думаю не кеширует ли он его вообще жёстко ... Где-то ещё ... 

а если по файлам cezerin всем просто запустить поиск и попробовать найти этот адрес?!

т..е выкачать в папку все 3 github репозитория и запустить поиск по всем файлам.

Может найдёт что?!

 

P.S. Даже не знаю, может тоже попробовать запуститься докером на локальном компе.

Я вроде запускался для теста, всё работало.

Но я не менял url адреса, а оставлял как есть.

Ссылка на сообщение
Поделиться на другие сайты

×
×
  • Создать...