首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker卷不适用于部署

Docker卷不适用于部署
EN

Stack Overflow用户
提问于 2019-02-02 18:27:28
回答 1查看 640关注 0票数 1

我是遵循林达码头教程和执行与码头撰写文件有关的东西。

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

代码语言:javascript
复制
more docker-compose.yml
version: '3'
services:
  web:
    image: jboss/wildfly
    volumes:
      - ~/deployments:/opt/jboss/wildfly/standalone/deployments
    ports:
      - 8080:8080

根据作者的说法,我试图将webapp.war文件复制到deployments/文件夹中,这给我带来了错误。看来,停靠文件的卷映射不起作用。

cp /home/user/Demos/docker-for-java/chapter2/webapp.war部署/ cp:无法创建常规文件“部署/”:而不是目录

代码语言:javascript
复制
docker-compose ps
     Name                   Command               State           Ports
--------------------------------------------------------------------------------
helloweb_web_1   /opt/jboss/wildfly/bin/sta ...   Up      0.0.0.0:8080->8080/tcp
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-02 18:52:51

我觉得你可能曲解了教程。我还没有看过教程本身,但是在查看WildFly Docker映像这里的文档时,需要扩展基本映像并在其中添加war文件:

要做到这一点,您只需要通过创建一个新映像来扩展jboss/通配符映像。将应用程序与ADD命令一起放置在部署/目录中(但要确保在部署文件夹路径上包含尾随斜杠,提供更多信息)。您还可以作为附加步骤(运行命令)对配置进行更改(如果有的话)。

这意味着您需要创建一个具有大致此内容的Dockerfile (用war文件的路径更改your-awesome-app.war ):

代码语言:javascript
复制
FROM jboss/wildfly
ADD your-awesome-app.war /opt/jboss/wildfly/standalone/deployments/

在此之后,您需要将docker-compose.yml更改为从Dockerfile构建而不是使用jboss/wildfly (注意使用build: .而不是image: jboss/wildfly):

代码语言:javascript
复制
version: '3'
services:
  web:
    build: .
    ports:
      - 8080:8080

如果遇到任何问题,请试一试并发表评论。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54496150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档