Docker compose:将卷映射从Docker卷更改为服务器上的文件夹



我有一个Jira的实例在Ubuntu服务器上运行,带有docker compose。

我最初通过将jira安装文件夹映射到一个名为jiravolume的docker卷来设置它。

volumes:
- jiravolume:/var/atlassian/application-data/jira

为了更容易地访问数据,我想把这个文件夹直接放在Ubuntu服务器上的一个文件夹里。

首先,在性能/安全性方面有什么不同吗?

如果没有,实现这一目标的步骤是什么?

假设我想要一个文件夹中的数据,路径(相对于docker compose文件(如下:./persist/jira/installfolder我需要先在服务器上创建文件夹结构,然后将docker composed更改为:

volumes:
- ./persist/jira/installfolder:/var/atlassian/application-data/jira

数据现在是自动复制到新文件夹中,还是仍在旧卷中,因此现在jira指向一个空文件夹?

非常感谢

不,这将不起作用,docker将为您创建一个漂亮的空文件夹。

如果在linux上,您的卷应该存储在这里:/var/lib/docker/volumes

你可以:

  1. 创建./persist/jira/installfolder
  2. 把文件复印一遍。然后
  3. 您必须更改文件的权限。而且
  4. 进行您在docker-compose.yaml中提出的更改
  5. 重新启动docker compose。(docker-compose down && docker-compose up应该足够了(

请注意:如果路径./persist/jira/installfolder在您的docker context中,您可能必须检查Dockerfile以查看任何COPYADD语句。例如,如果您在某个位置有一个COPY . .,那么如果您重新构建卷,就有将卷复制到映像中的风险。在这种情况下:要么更改这些语句,要么添加到.dockerignore的路径

相关内容

  • 没有找到相关文章