加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

django – docker-compose用于纯数据容器和web服务器,postgres

发布时间:2020-12-16 03:41:33 所属栏目:安全 来源:网络整理
导读:我正在使用docker-compose.yml文件为我的django nginx postgresql和一个纯数据容器构建3个docker容器. 这是我的docker-compose.yml data: # pure data container image: busybox volumes: - /etc/postgresql - /var/log/postgresql:/var/log/postgresql - /v

我正在使用docker-compose.yml文件为我的django nginx postgresql和一个纯数据容器构建3个docker容器.

这是我的docker-compose.yml

data:
  # pure data container
  image: busybox
  volumes:
    - /etc/postgresql
    - /var/log/postgresql:/var/log/postgresql
    - /var/lib/postgresql
    - /var/log/nginx:/var/log/nginx
    - /var/log/supervisor:/var/log/supervisor

db:
  image: postgres
  volumes_from:
    - data

web:
  build: .
  ports:
    - "80:80"
    - "443:443"
  links:
    - db
  volumes_from:
    - data


$docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                     PORTS                                      NAMES
cc26b3a72a02        myweb_web:latest    "supervisord -n"       6 minutes ago       Up 6 minutes               0.0.0.0:80->80/tcp,0.0.0.0:443->443/tcp   myweb_web_1         
14763a9f68d1        postgres:latest     "/docker-entrypoint.   6 minutes ago       Up 6 minutes               5432/tcp                                   myweb_db_1          
37598892038b        busybox:latest      "/bin/sh"              6 minutes ago       Exited (0) 6 minutes ago                                              myweb_data_1

我担心如何备份和恢复存储在纯数据容器(myweb_data_1)中的postgresql数据.我使用“docker-compose build&& docker-compose up”命令来重建docker镜像并重新启动容器,如果我更新代码,但不确定这是否正确或最佳方式.

最佳答案
我没有postgresql的经验,但从docker的角度来看,这种方法看起来非常好.您的数据将位于数据容器中.它不会受到docker-compose build&& amp;码头工人组成. Raman Gupta在他的article中对这个主题进行了很好的介绍.

在那里他还强调你需要适用于仅数据容器的正确思维方式.对您而言,这意味着您可以拥有“备份容器”.使用postgres图像并从中运行一个新容器,该容器使用来自myweb_data_1的–volumes.现在,在容器中,您可以使用postgresql中的适当工具并访问数据容器中的数据库.

同样,postgresql可能会有所不同,但对于mysql来说,这就是方法,它完全正常,并且是我理解的最佳实践.顺便说一句,mysql是一个服务器.因此,您将启动一个新容器并将其链接(–link)与myweb_db_1容器相关联.不确定postgresql的行为方式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读