从数据容器更新共享卷
Update shared volume from data container
大家好,我遇到了这种情况,我想通过重建数据容器来部署我的源代码中的更改,该数据容器包含用于在卷中传输源的 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
旨在跨容器 restart/rebuilds 持久保存数据。唯一一次从映像更新卷中的数据是在创建卷时,并且复制了映像中目录的内容。
看起来您的意思是使用 volumes_from
,这就是您让容器装载在 data
上定义的卷的方式。这是原始的 "data container" 共享数据的方法,卷旨在取代。
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 因此,如果您想使用更新的功能,您可能需要坚持重新创建卷。
大家好,我遇到了这种情况,我想通过重建数据容器来部署我的源代码中的更改,该数据容器包含用于在卷中传输源的 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
旨在跨容器 restart/rebuilds 持久保存数据。唯一一次从映像更新卷中的数据是在创建卷时,并且复制了映像中目录的内容。
看起来您的意思是使用 volumes_from
,这就是您让容器装载在 data
上定义的卷的方式。这是原始的 "data container" 共享数据的方法,卷旨在取代。
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 因此,如果您想使用更新的功能,您可能需要坚持重新创建卷。