gpt4 book ai didi

docker - 我无法启动 docker 容器 "webserver"并出现以下错误

转载 作者:行者123 更新时间:2023-12-01 02:31:28 26 4
gpt4 key购买 nike

我在 VM 的 ubuntu 中使用它

$ sudo docker 镜像

REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
plamobi-model-simulator latest dfc3d0c4370f 15 minutes ago 428MB
mongo latest 4095dbcdd495 28 hours ago 364MB
certbot/certbot latest ce913a50e000 2 days ago 164MB
node 10-alpine 547f0f86b4ad 3 days ago 80.5MB
nginx mainline-alpine 36189e6707f4 7 days ago 21.5MB

$ sudo docker ps -a

CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                    PORTS                            NAMES
4b9758c927a3 nginx:mainline-alpine "nginx -g 'daemon of…" 16 minutes ago Created 80/tcp, 0.0.0.0:3000->3000/tcp webserver
ffc2a78c46bc plamobi-model-simulator "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 0.0.0.0:3001->3001/tcp plamobi
f4e501383536 36189e6707f4 "nginx -g 'daemon of…" 19 hours ago Exited (0) 19 hours ago stupefied_lewin
390354087d0f nginx:mainline-alpine "nginx -g 'daemon of…" 20 hours ago Created 390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_webserver
fc95bd7b3e3a mongo "docker-entrypoint.s…" 22 hours ago Up 19 hours 0.0.0.0:27017->27017/tcp plamobi-mongodb

$ sudo docker-compose up --build -d

> WARNING: The PWD variable is not set. Defaulting to a blank string.
> Removing webserver Building api.plamobi Step 1/10 : FROM
> node:10-alpine ---> 547f0f86b4ad Step 2/10 : RUN mkdir -p
> /home/node/app/node_modules && chown -R node:node /home/node/app --->
> Using cache ---> 889c483276f7 Step 3/10 : WORKDIR /home/node/app
> ---> Using cache ---> c5766592fece Step 4/10 : COPY package*.json /home/node/app/ ---> Using cache ---> 88320bf22fe3 Step 5/10 : USER
> node ---> Using cache ---> 14d42a11b6df Step 6/10 : RUN npm install
> ---> Using cache ---> b575befa4614 Step 7/10 : RUN npm audit fix ---> Using cache ---> c41b00f02419 Step 8/10 : COPY --chown=node:node . /home/node/app/ ---> 45d9cdeee055 Step 9/10 : EXPOSE 3001 --->
> Running in 40a0d7ad5aa2 Removing intermediate container 40a0d7ad5aa2
> ---> defbe9ef49ec Step 10/10 : CMD [ "node", "app.js" ] ---> Running in 077d833dc637 Removing intermediate container 077d833dc637 --->
> 324dd58bd4e1 Successfully built 324dd58bd4e1 Successfully tagged
> plamobi-model-simulator:latest plamobi-mongodb is up-to-date
> Recreating plamobi ... Recreating plamobi ... done Recreating
> 390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_webserver
> ... Recreating
> 390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354Recreating
> 390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_webserver
> ... error ERROR: for
> 390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_390354087d0f_webserver
> Cannot start service webserver: error while mounting volume
> '/var/lib/docker/volumes/plamobimodelsimulator_web-root/_data': failed
> to mount local volume: mount
> /views/:/var/lib/docker/volumes/plamobimodelsimulator_web-root/_data,
> flags: 0x1000: no such file or directory
>
> ERROR: for webserver Cannot start service webserver: error while
> mounting volume
> '/var/lib/docker/volumes/plamobimodelsimulator_web-root/_data': failed
> to mount local volume: mount
> /views/:/var/lib/docker/volumes/plamobimodelsimulator_web-root/_data,
> flags: 0x1000: no such file or directory ERROR: Encountered errors
> while bringing up the project.

docker-compose.yml

version: '3'

services:
api.plamobi:
build:
context: .
dockerfile: Dockerfile
image: plamobi-model-simulator
container_name: plamobi
ports:
- "3001:3001"
restart: unless-stopped
networks:
- app-network
depends_on:
- mongo

mongo:
container_name: plamobi-mongodb
image: mongo
ports:
- "27017:27017"
volumes:
- ./data:/data/db
restart: unless-stopped
networks:
- app-network

webserver:
image: nginx:mainline-alpine
container_name: webserver
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- web-root:/var/www/html
- ./nginx-conf:/etc/nginx/conf.d
- certbot-etc:/etc/letsencrypt
- certbot-var:/var/lib/letsencrypt
depends_on:
- api.plamobi
networks:
- app-network

certbot:
image: certbot/certbot
container_name: certbot
volumes:
- certbot-etc:/etc/letsencrypt
- certbot-var:/var/lib/letsencrypt
- web-root:/var/www/html
depends_on:
- webserver
command: certonly --webroot --webroot-path=/var/www/html --email contact@plamobi.com --agree-tos --no-eff-email --staging -d api.plamobi.com

volumes:
certbot-etc:
certbot-var:
web-root:
driver: local
driver_opts:
type: none
device: ${PWD}./views/
o: bind

networks:
app-network:
driver: bridge

最佳答案

您没有在 docker-compose 文件中设置环境变量 $PWD 并且您可能没有使用 .env 文件。我不熟悉 MacOS,但显然 shell 变量中也没有 $PWD 。您需要使用 .env 文件或直接在 docker-compose 文件中进行设置。另外,${PWD}./views/中的点不对,改成${PWD}/views/

关于docker - 我无法启动 docker 容器 "webserver"并出现以下错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59782721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com