Как к месту доступа рабочий апачский сервер по LAN без интернет-соединения

1) если я использую два файла docker для клиента и реагирую, и он запускается docker-compose.yml, будет ли он работать в двух разных контейнерах или в одном контейнере? из того, что я когда-либо читал, я думаю, что потребуется два контейнера, которые используют файл docker-compose.yml. Немного запутался?

Каждый файл Docker будет создавать образ Docker. Таким образом, в конце у вас будет два изображения, одно для приложения реакции, а другое для бэкэнда, которое является приложением nodejs


2) также когда я делаю dodo-compose sudo, он работает отлично, но показывает «создать производственную сборку с использованием npm run build», основываясь на env, как я могу изменить эту. Нужно ли создавать разные файлы docker-compose.yml для каждой среды. Как я могу использовать один и тот же файл, но разные npm start или npm run build на основе env?

Вам нужно собрать приложение реагировать в соответствии с шагами, которые вы выполняете в его Dockerfile, чтобы иметь возможность используйте его как обычное приложение. Также вы можете использовать среду varaible для настройки изображения во время сборки, используя build-args, например, передавая пользовательский путь или что-то еще.


3) могу ли я использовать файл docker-compose.yml для построения конвейера в jenkins или мне нужен Dockerfile в корне проекта. Я видел большинство проектов, имеющих один Dockerfile. Разве я не могу использовать docker-compose.yml для размещения приложения?

Было бы лучше, если бы вы использовали dockerfile (s) с jenkins для построения ваших изображений и сохранения докера -compose.yml файл (ы) для развертывания самого приложения без использования ключевого слова build


4) почему я использую NODE_COMMAND для сервера в свойстве Command файла docker-compose.yml, потому что когда я запускаю приложение в локальном режиме, мне нужна автоматическая перезагрузка, поэтому в терминале, если я добавлю NODE_COMMAND = nodemon, он будет работать вместо узла index.js, но в производственном процессе он будет принимать только узел index.js, если я этого не сделаю. упомянуть любой NODE_COMMAND.

Использование command внутри файла docker-compose.yml переопределит CMD для файла dockerfile, который был установлен на этапе сборки


5) Нужно ли мне CMD в Dockerfile каждого клиента и сервера, поскольку при запуске docker-compose он принимает команду docker-compose.yml. Поэтому я думаю, что приоритет будет взят из файла docker-compose.yml. так ли это?

В общем, да, вам это нужно, однако, если вы хотите использовать переопределение из файла docker-compose, вы можете добавить его как CMD ["node", "--help"] или что-то в этом роде


6) Для чего нужны тома, это требуется в файле docker-compose.yml?

Тома нужны, если у вас есть общие файлы между контейнерами или вам нужно сохранить данные сохраняются на хосте


7) в файле env я использую API_HOST и APP_SERVER_PORT, как это внутренне работает с package.json? это делает прокси вещь Когда нам нужно нажать на nodejs, мы обычно выдаем «proxy»: « http: // localhost: 4000 », но вот как это займет http: // server: 4000 . Как это работает?

server - это псевдоним контейнера nodejs внутри докерской сети после запуска приложения. а почему назвали server? потому что он находится внутри вашего файла docker-compose.yml в этой части:

services:
  server:

Но, конечно, вы можете изменить его, добавив псевдоним к нему в ключевом слове network внутри файла docker-compose.yml

Примечание : React сам по себе является клиентской стороной, что означает, что он работает через сам браузер, поэтому он не сможет связаться с приложением nodejs через сеть докеров, вы можете использовать сам ip или используйте localhost и сделайте nodejs доступными через localhost

blockquote>

8) когда мы создаем контейнер, у нас есть порты вроде 3000, 3001 ... так что Контейнерный порт и порт нашего приложения, как они совпадают, с помощью сред экспорта и портов в файле docker-compose.yml позаботятся об этом?

Сам Docker не знает, какой порт вашего приложения используется, поэтому вы должны заставить их использовать один и тот же порт. а в nodejs это достижимо с помощью переменной среды


. Более подробно:

37
задан Benjamin 11 August 2015 в 14:06
поделиться

3 ответа

You might also want to check your server configuration - sometimes the default for development type servers is to only accept connections from localhost.

0
ответ дан 27 November 2019 в 04:14
поделиться

In your httpd.conf make sure you have:

Listen *:80

And if you are using VirtualHosts then set them as given below:

NameVirtualHost *
<VirtualHost *>
   ...
</VirtualHost>
56
ответ дан 27 November 2019 в 04:14
поделиться

Please reformulate your question. Your first sentence does not make sense. .

To address your question:

http://ip.of.server/ should work in principle. However, depending on configuration (virtual hosting) only using the correct host name may work.

At any rate, if you have a network, you should properly configure DNS, otherwise all kinds of problems (such as this) may occur.

0
ответ дан 27 November 2019 в 04:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: