我正试着用Docker谱写来管理盖茨比。
据我所知盖茨比的网站是在我的码头集装箱运行。
我将容器的端口8000映射到本地主机上的端口8000。
但是当你看着
localhost:8000
我没有得到我的盖茨比网站。
我用下面的
Dockerfile
用
docker build -t nxtra/gatsby .
以下内容:
FROM node:8.12.0-alpine
WORKDIR /project
COPY ./package.json /project/package.json
COPY ./.entrypoint/entrypoint.sh /entrypoint.sh
RUN apk update \
&& apk add bash \
&& chmod +x /entrypoint.sh \
&& npm set progress=false \
&& npm install -g yarn gatsby-cli
EXPOSE 8000
ENTRYPOINT [ "/entrypoint.sh" ]
entrypoints.sh
包含:
#!/bin/bash
yarn install
gatsby develop
docker-compose.yml与
docker-compose up
version: '3.7'
services:
gatsby:
image: nxtra/gatsby
ports:
- "8000:8000"
volumes:
- ./:/project
tty: true
docker ps
显示端口8000已转发
0.0.0.0:8000->8000/tcp
是的。
检查我的集装箱
docker inspect --format='{{.Config.ExposedPorts}}' id
确认端口的曝光->
map[8000/tcp:{}]
docker tops
容器上显示以下进程正在容器中运行:
18465 root 0:00 {entrypoint.sh} /bin/bash /entrypoint.sh
18586 root 0:11 node /usr/local/bin/gatsby develop
18605 root 0:00 /usr/local/bin/node /project/node_modules/jest-worker/build/child.js
18637 root 0:00 /bin/bash
Dockerfile和Docker-compose.yml位于我的盖茨比项目的根目录中。
我的项目在没有Docker的情况下运行时运行正常
gatsby develop
是的。
如果让运行在容器中的gatsby站点在本地主机:8000上可见,我做错了什么?