gpt4 book ai didi

docker - Docker Volume不适用于部署

转载 作者:行者123 更新时间:2023-12-02 19:27:52 34 4
gpt4 key购买 nike

我正在关注lynda Docker教程,并执行与docker compose文件相关的工作。

这是我的docker-compose.yml文件。

more docker-compose.yml
version: '3'
services:
web:
image: jboss/wildfly
volumes:
- ~/deployments:/opt/jboss/wildfly/standalone/deployments
ports:
- 8080:8080

根据作者,我正在尝试将 webapp.war文件复制到 deployments/文件夹,给我错误。 似乎docker文件的卷映射不起作用。

cp /home/user/Demos/docker-for-java/chapter2/webapp.war deployments/ cp: cannot create regular file ‘deployments/’: Not a directory


docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------------
helloweb_web_1 /opt/jboss/wildfly/bin/sta ... Up 0.0.0.0:8080->8080/tcp

最佳答案

我认为您可能会误解本教程。我还没有看过教程本身,但是在检查WildFly Docker镜像here的文档时,提到需要扩展基本镜像并在其中添加war文件:

To do this you just need to extend the jboss/wildfly image by creating a new one. Place your application inside the deployments/ directory with the ADD command (but make sure to include the trailing slash on the deployment folder path, more info). You can also do the changes to the configuration (if any) as additional steps (RUN command).



这意味着您需要创建一个大致具有以下内容的 Dockerfile(用 your-awesome-app.war文件的路径更改 war):
FROM jboss/wildfly
ADD your-awesome-app.war /opt/jboss/wildfly/standalone/deployments/

之后,您需要将 docker-compose.yml更改为从 Dockerfile构建,而不是使用 jboss/wildfly(请注意,使用 build: .代替 image: jboss/wildfly):
version: '3'
services:
web:
build: .
ports:
- 8080:8080

试试看并发表评论,如果遇到任何问题

关于docker - Docker Volume不适用于部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54496150/

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