[英]This site can’t be reached docker-compose
I am trying to use docker-compose for react-typescript
application with webpack-dev-server
below is my Dockerfile我正在尝试将
webpack-dev-server
compose 用于react-typescript
webpack-dev-server
应用程序,下面的webpack-dev-server
是我的Dockerfile
FROM node:lts-slim
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
EXPOSE 3000
CMD [ "npm", "start" ]
"start": "webpack-dev-server --port 3000"
this package.json
line "start": "webpack-dev-server --port 3000"
这个package.json
行
docker-compose.yml docker-compose.yml
version: "3"
services:
frontend:
container_name: awesome_web
build:
context: ./client
dockerfile: Dockerfile
image: webpack
ports:
- "3000:3000"
volumes:
- ./client:/usr/src/app
I executed command docker-compose up --build based on logs application compiled successfully我根据成功编译的日志应用程序执行了命令docker-compose up --build
output of docker ps docker ps 的输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c88198ba996c webpack "docker-entrypoint.s…" 21 seconds ago Up 20 seconds 0.0.0.0:3000->3000/tcp awesome_web
but when I am trying to access localhost:3000 I am getting error This site can't be reached但是当我尝试访问localhost:3000时出现错误无法访问此站点
I am new to docker, following online blogs but I am not able to get why am I not able reach site?我是 docker 新手,关注在线博客,但我不知道为什么我无法访问站点?
Try changing your start
script to:尝试将
start
脚本更改为:
webpack-dev-server --host 0.0.0.0 --port 3000
And your Dockerfile to:你的 Dockerfile 到:
FROM node:lts-slim
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY . /usr/src/app/
EXPOSE 3000
CMD [ "npm", "start" ]
Note: I highly advise against running your containers as root.注意:我强烈建议不要以 root 身份运行容器。 You should always downgrade your user with the command
USER ...
.您应该始终使用命令
USER ...
降级您的用户。
According to this Snyk's report , you are using a vulnerable base image in addition to running it as root.根据此 Snyk 的报告,除了以 root 身份运行之外,您还使用了易受攻击的基础映像。 I highly recommend you use this image instead.
我强烈建议您改用此图像。 Furthermore, you should run your image as a non-root user :
此外,您应该以非 root 用户身份运行您的图像:
FROM node:13.8.0-alpine
# don't run as root
RUN addgroup -S app_group && adduser -S -G app_group app_user
RUN mkdir -p /usr/src/app && chown app_user /usr/src/app
WORKDIR /usr/src/app
COPY --chown=app_user:app_group . /usr/src/app/
EXPOSE 3000
USER node
CMD [ "npm", "start" ]
USER app_user
如果您使用的是 docker 工具包,那么每个容器都在运行虚拟机,检查您当前的容器正在哪个虚拟机上运行,获取 vm ip 并使用此 url vm-ip:3000 浏览或者如果您只是运行 docker,则尝试打开 docker 0.0.0.0:3000 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.