【发布时间】:2020-04-07 09:23:41
【问题描述】:
我是 Docker 的新手。我有一个用 react js 编写的网络应用程序。它包含用于存储数据的 rails(sqlite3) 服务器。我的文件结构如下:
Project:
1.Front end: dockerfile1, .dockerignore1
2.Back end: docker file2 , .dockerignore2
3.Dockercompose.yml
dockerfile1:
# Stage 1
FROM node:8 as react-build
WORKDIR /app
COPY . ./
RUN yarn
RUN yarn build
# Stage 2 - the production environment
FROM nginx:alpine
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=react-build /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
.dockerignore1
.git
node_modules
build
然后我创建了 container1: $ docker build 。 -t 容器1 当我在浏览器上运行“$ docker run -p 8000:80 container1”和“http://localhost:8000”时,它会显示前端页面。
我不知道如何为具有 sqlite3 数据库的 rails 服务器编写 dockerfile2。然后我应该编写 docker compose 文件。有人请帮我编写 docker compose 文件以在 Web 应用程序和 Rails 服务器之间进行通信。提前致谢。
【问题讨论】:
标签: ruby-on-rails reactjs sqlite docker docker-compose