Mysql 设置Docker使用文件系统文件夹来存储数据库,UBUNTU?

Mysql 设置Docker使用文件系统文件夹来存储数据库,UBUNTU?,mysql,postgresql,docker,ubuntu,dropbox,Mysql,Postgresql,Docker,Ubuntu,Dropbox,我刚开始使用Docker(CE),所以我是一个相对的新手 我安装在UBUNTU 18.04上 sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-

我刚开始使用Docker(CE),所以我是一个相对的新手

我安装在UBUNTU 18.04上

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu  $(lsb_release -cs)  stable" 
sudo apt-get update
sudo apt-get install docker-ce
sudo docker run --name some-postgres -v "/home/parallels/Desktop/Orthanc Dropbox/OrthancConfigs/postgres:/var/lib/postgresql/data" -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres
然后,我在UBUNTU上安装了DBeaver,在运行映像/容器之后,我可以连接到postgres(我需要阅读更多的内容来理解其中的区别)。我想将其配置为使用本地文件系统文件夹来存储数据库,而不是在运行映像时让它们保持非持久性。在Orthanc Dropbox文件名中有一个“空格”可能会有问题,但我不确定是否可以更改它,因为我正在运行他们的客户端,它会自动进行更改。您可以将符号链接与Dropbox一起使用,但要同步的实际文件必须位于Dropbox文件夹中,而不是符号链接中。如果他们支持相反的安排就好了

我看到有很多配置选项,特别是当您使用.yaml配置文件时。理想情况下,我希望在启动系统时启动Postgres Docker,并在关闭系统时将其关闭,以便操作相对无缝,但我希望数据库文件存储在系统文件系统或挂载的文件系统文件夹中,可能在Dropbox文件夹中,因为它会自动将该文件夹中的所有内容与Dropbox云同步

如果我能做到这一点,我可能还想对LAMP堆栈(MySQL、Apache、php7.4,以及上面提到的DB)和NGINX服务器做同样的事情。实际上,在我自己的定制容器中打包NGINX、PHP-FPM和Postgres也会很好

因此,目标是:

  • 带有Postgres、NGINX、PHP-FPM 7.4的定制Docker容器,文件系统上有DB、web目录和配置文件
  • 带有Apache、MySQL、PHP7.4的定制Docker容器,文件系统上有DB、web目录和配置文件
  • 我可以进一步阅读文档,但我认为这真的没有那么困难,而且似乎应该有一些已经制作好的Docker图像可以做类似的事情

    另一个选择是在我的文件系统上使用Docker images/containers for Postgres和MySQL与数据库文件,然后在我的系统上本地安装Apache、NGINX、PHP/PHP-FPM。这样,我就可以使用Docker来处理数据库,其余的则使用我的系统

    因此:

  • 带有Postgres的自定义Docker容器,文件系统上带有DB
  • 使用MySQL定制Docker容器,在文件系统上使用DB
  • 我有一些.sh脚本来对一些数据库文件进行滚动备份,因此如果我愿意,我认为有一种方法可以将这些脚本与Docker映像一起使用,尽管在云中进行备份时可能不需要这样做


    谢谢。

    数据库,无论是MySQL还是Postgres,对文件系统都有相当严格的要求

    基于存档/共享的Dropbox连接器不太可能满足这些要求

    在同一个存储上进行多个并发实例化肯定是不可能的


    建议在本地运行,并让备份机制将其备份推送到基于Dropbox的存储中。这样,除了灾难恢复之外,您还可以进行备份。

    谢谢。我可能会暂时放弃Docker的图片。我设置东西的方式是使用SSD作为系统磁盘,然后使用RAID作为数据。我想我可以把“数据”放在Dropbox文件夹中。这会被另一个应用程序动态写入,但不像MySQL和Postgres这样的DB,我可以运行CRON脚本将数据库的滚动备份转储到DropBox文件夹中。我认为这将暂时奏效。