无法通过docker-compose访问此网站 [英] This site can’t be reached docker-compose

查看:70
本文介绍了无法通过docker-compose访问此网站的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将docker-compose用于 react-typescript 应用程序,并将 webpack-dev-server 放在下面,这是我的 Dockerfile

I am trying to use docker-compose for react-typescript application with webpack-dev-server below is my Dockerfile

FROM node:lts-slim

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

EXPOSE 3000

CMD [ "npm", "start" ]

开始":"webpack-dev-server --port 3000" package.json

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

我基于成功编译的日志应用程序执行了命令 docker-compose up --build

I executed command docker-compose up --build based on logs application compiled successfully

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

但是当我尝试访问 localhost:3000 时,我收到错误消息无法访问该站点

but when I am trying to access localhost:3000 I am getting error This site can’t be reached

我是Docker的新手,关注在线博客,但我无法了解为什么我无法访问该网站?

I am new to docker, following online blogs but I am not able to get why am I not able reach site?

推荐答案

尝试将您的 start 脚本更改为:

Try changing your start script to:

webpack-dev-server --host 0.0.0.0 --port 3000

然后将您的Dockerfile发送至:

And your Dockerfile to:

FROM node:lts-slim

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app
COPY . /usr/src/app/

EXPOSE 3000

CMD [ "npm", "start" ]

注意:我强烈建议您不要以root用户身份运行容器.您应该始终使用命令 USER ... 降级用户.

Note: I highly advise against running your containers as root. You should always downgrade your user with the command USER ....

根据此Snyk的报告,您使用的是易受攻击的基本映像除了以root身份运行之外.我强烈建议您改用此图片.此外,您应该以非root用户:

According to this Snyk's report, you are using a vulnerable base image in addition to running it as root. I highly recommend you use this image instead. Furthermore, you should run your image as a non-root user:

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-compose访问此网站的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆