gpt4 book ai didi

Docker 撰写 : Avoid recreation of data container

转载 作者:行者123 更新时间:2023-12-02 14:15:07 24 4
gpt4 key购买 nike

为了更新一些图像,我使用了“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 up 命令具有 --no-recreate 标志。如果容器已经存在,此标志避免重新创建容器。

因此你可以运行

docker-compose up -d --no-recreate app

关于Docker 撰写 : Avoid recreation of data container,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36958235/

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