Я пытаюсь сделать так, чтобы каждый раз, когда в приложение вносились новые изменения, мне не нужно создавать приложение, а затем запускать файл docker-compose.То, что я пытаюсь сделать, это то, что когда я изменяю код в моем приложении (ReactJs), чтобы просто запустить и запустить файл docker-compose, тогда docker-compose соберет и запустит его, используя nginx.
Вот чтоmy docker-compose.yml
выглядит следующим образом:
version: '2'
services:
nginx:
image: 'bitnami/nginx:1.14.2'
ports:
- '80:8080'
volumes:
- ./build:/var/www/my-app
- ./nginx.conf:/opt/bitnami/nginx/conf/nginx.conf:ro
Прямо сейчас с этим кодом мне нужно собрать приложение самостоятельно, запустив npm run build
, а затем запустить и запустить файл docker-compose, чтобы он принял изменения.
Я точно не знаю, как это сделать, поэтому я предполагаю, что мне нужно создать Dockerfile
run npm run build
и затем вызвать bitmani / nginx: 1.14.2 на основе их документов: https://hub.docker.com/r/bitnami/nginx/
FROM node:8.7.0-alpine
RUN npm install
RUN npm run build
docker run --name nginx \
-v /path/to/my_vhost.conf:/opt/bitnami/nginx/conf/vhosts/my_vhost.conf:ro \
-v /path/to/nginx-persistence/nginx/conf/bitnami/certs:/bitnami/nginx/conf/bitnami/certs \
bitnami/nginx:latest
и в docker-compose.yml
звоните build .
вместо image: bitnami/nginx
.