为了更新一些图片,我使用了“docker-compose pull”命令。接着我运行了“docker-compose build”命令。
我只想要更新应用容器,所以我先移除了它并重新启动了容器:“docker-compose rm app”,然后再运行了“docker-compose up -d app”命令。
但是出现了一些意外情况,数据容器也被重新创建了,旧数据丢失了。
数据容器的Dockerfile如下:
FROM gitlab/gitlab-ce:latest
VOLUME ["/etc/gitlab", "/var/log/gitlab", "/var/opt/gitlab"]
ENTRYPOINT ["hostname"]
docker-compose.yml:
version: '2'
services:
gitlab:
image: 'gitlab/gitlab-ce:latest'
domainname: example.com
hostname: gitlab
networks:
- devenv
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
ports:
- '80:80'
- '2224:22'
volumes_from:
- gitlabdata
gitlabdata:
build: gitlab-data
我该如何避免这种情况再次发生?
docker-compose rm -v
命令时才会删除卷? - johnharris85