我發現這個問題是由我的使用docker-compose的構建腳本引入的。
多克爾 - compose.yml
version: '3'
services:
# Web-server which is responsible for server-side rendering.
# It also add additional middleware layers when proxify requests
# for dependent systems such as API (for example enrich with auth data before sending).
web:
build:
context: .
dockerfile: ./docker/Dockerfile.web
ports:
- "${WEBSERVER_PORT}"
env_file:
- ./docker/web.env
volumes:
- assets:/web/dist/assets
command: ["yarn", "run", "_production"]
# Nginx used as proxy-wrapper which is placed before web-server.
# It's resposible for static files and proxy to web-server.
# It also can be used for proxify websocket connection to specific game server.
nginx:
build:
context: .
dockerfile: ./docker/Dockerfile.nginx
volumes:
- assets:/www/assets
ports:
- "80:${NGINX_PORT}"
env_file:
- ./docker/web.env
- ./nginx/nginx.env
depends_on:
- web
command: ["/bin/sh", "-c", "envsubst </etc/nginx/templates/default.template> /etc/nginx/sites-enabled/default && nginx -g 'daemon off;'"]
volumes:
assets:
在那裏,我已經使用共享卷assets
,我沒有明確它在啓動時再次泊塢窗,作曲。
我一直在使用這個命令來構建:
rm -rf tmp && mkdir -p tmp && tar -czvf tmp/app.tar.gz src config .babelrc mq.json postcss.config.js webpack.*.js package.json yarn.lock && export $(cat ./docker/web.env | grep -v ^# | xargs) && docker-compose -p cruiserwars build
,
在那裏我已經準備與來源的tar.gz,設置環境變量,然後使用docker-compose.yml
建立我的項目。但是,我忘了刪除之前已經創建的卷...
這樣的解決方案將是有這樣的命令:
rm -rf tmp && mkdir -p tmp && tar -czvf tmp/app.tar.gz src config .babelrc mq.json postcss.config.js webpack.*.js package.json yarn.lock && export $(cat ./docker/web.env | grep -v ^# | xargs) && docker-compose down -v && docker-compose -p cruiserwars build
,
你可以看到,我已經加入docker-compose down -v
到停止容器並移除之前創建的容量。
有關他們如何不同的更多細節顯示預期的一個,並顯示生成的一個讓我們可視化 –
謝謝塔倫!我在docker-compose構建腳本中發現了這個問題。我會在下面的評論中寫回答 –