Я новичок в докере и GCP.Я следовал инструкциям здесь
Мой файл docker-compose.yml выглядит следующим образом:
version: '3'
services:
backend:
image: com.xyz.backend:v1
build: ./server/
ports:
- "5000:5000"
volumes:
- ./server:/usr/src/app
- /usr/src/app/node_modules
frontend:
image: com.xyz.frontend:v1
build: ./client/
ports:
- "3000:3000"
volumes:
- ./client:/usr/src/app
- /usr/src/app/node_modules
links:
- backend
Файл Docker => client / Dockerfile:
FROM node:8.15.0-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ENV NODE_PATH=/node_modules
ENV PATH=$PATH:/node_modules/.bin
COPY package.json /usr/src/app
RUN npm i -g npm-check-updates
RUN ncu -u
RUN npm install
COPY . /usr/src/app
ENV PORT 3000
EXPOSE 3000
RUN pwd
CMD ["npm", "start"]
Docker file => server / Dockerfile
FROM node:8.15.0-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ENV NODE_PATH=/node_modules
ENV PATH=$PATH:/node_modules/.bin
RUN npm install -g nodemon
COPY package.json /usr/src/app
RUN npm i -g npm-check-updates
RUN ncu -u
RUN npm install
COPY . /usr/src/app
ENV PORT 5000
EXPOSE 5000
RUN pwd
CMD ["npm", "start"]
cloudbuild.yaml
steps:
- name: ‘docker/compose:1.23.2’
args: [‘up’, ‘-d’]
- name: 'gcr.io/cloud-builders/docker'
args: ['tag', 'workspace_app:latest', 'gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA']
images: ['gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA']
Структура проекта:
Project
↳ client
↳ Dockerfile
server
↳ Dockerfile
README.md
Dockerfile
cloudbuild.yaml
docker-compose.yml
Когда я пытаюсь запуститьэто в gcp не выдается никаких ошибок, но я не могу получить доступ с помощью публичного ip.
Когда я запускаю его локально, он работает нормально.
Я запускаю докер с помощью следующей команды
docker run -v /var/run/docker.sock:/var/run/docker.sock -v "$PWD:$PWD" -w="$PWD" docker/compose:1.23.2 up
Я попытался установить порт также как:
docker run -v /var/run/docker.sock:/var/run/docker.sock -v "$PWD:$PWD" -w="$PWD" -p 8080:3000 docker/compose:1.23.2 up
Не смог найти причину проблемы.Пожалуйста, совет .. Спасибо заранее.