gpt4 book ai didi

apache - 从数据容器更新共享卷

转载 作者:行者123 更新时间:2023-12-02 18:11:57 25 4
gpt4 key购买 nike

嗨,我在这种情况下,我想通过重建包含COPY命令的数据容器来在源代码中部署更改,以便在卷中传输源代码。但是,当我重建数据镜像并重新运行docker-compose时,我坚持使用旧代码,并且更新所有内容的唯一方法是删除webroot卷并重新创建它。

错误在哪里?

server:
build: ./docker/apache
image: server:1.3.16
restart: always
links:
- fpm
ports:
- 80:80 # HTTP
- 443:443 # HTTPS
volumes:
- webroot:/var/www/html:ro

fpm:
build: ./docker/php
image: fpm:1.0
restart: always
links:
- database
volumes:
- webroot:/var/www/html

data:
build:
context: .
dockerfile: dataDockerFile
image: smanapp/data:1.0.0
volumes:
- webroot:/var/www/html

volumes:
webroot:

最佳答案

命名卷webroot旨在在容器重新启动/重建期间持久存储数据。卷中的数据唯一一次从镜像更新的时间是在创建卷时,并且复制了镜像中目录的内容。

看起来您的意思是使用volumes_from,这是您如何获取容器来安装data上定义的卷的方式。这是共享卷所要替换的数据的原始“数据容器”方法。

version: "2.1"

services:

server:
image: busybox
volumes_from:
- data
command: ls -l /var/www/html

fpm:
image: busybox
volumes_from:
- data
command: ls -l /var/www/html

data:
build: .
image: dply/data
volumes:
- /var/www/html

请注意,这是 replaced in version 3 of the compose file,因此如果要使用较新的功能,可能需要坚持重新创建卷。

关于apache - 从数据容器更新共享卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42833720/

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