Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在Docker文件中使用CMD以分离模式在Docker中运行“httpd”?_Reactjs_Apache_Docker_Docker Compose_Dockerfile - Fatal编程技术网

Reactjs 如何在Docker文件中使用CMD以分离模式在Docker中运行“httpd”?

Reactjs 如何在Docker文件中使用CMD以分离模式在Docker中运行“httpd”?,reactjs,apache,docker,docker-compose,dockerfile,Reactjs,Apache,Docker,Docker Compose,Dockerfile,这是我的文件- 映像成功构建,但未运行,将停止。我想从Docker容器访问Apache服务器提供的网站 # build environment FROM node:13.12.0-alpine as build WORKDIR /app ENV PATH /app/node_modules/.bin:$PATH COPY package.json ./ COPY package-lock.json ./ RUN npm ci --silent RUN npm install react-scri

这是我的文件- 映像成功构建,但未运行,将停止。我想从Docker容器访问Apache服务器提供的网站

# build environment
FROM node:13.12.0-alpine as build
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
COPY package.json ./
COPY package-lock.json ./
RUN npm ci --silent
RUN npm install react-scripts@3.4.1 -g --silent
COPY . ./
RUN npm run build:staging

# production environment
FROM httpd:latest
COPY --from=build /app/build /usr/local/apache2/htdocs

EXPOSE 80

CMD ["httpd"]

您应该删除
CMD[“httpd”]
,请参阅:

CMD[“httpd前台”]

那里已经有一个前景httpd

最后,为什么CMD[“httpd”]不起作用?

Dockerfile
中定义的
CMD
将充当容器的
PID1
。在docker中,如果
PID1
退出,则容器也将退出

  • 如果使用
    CMD[“httpd前台”]
    ,apache进程将始终位于前面,因此进程不会退出,那么容器是活动的
  • 如果使用
    CMD[“httpd”]
    httpd
    将在执行后直接退出,然后
    PID1
    退出,因此容器退出