当前位置: 首页 > 知识库问答 >
问题:

如何使用Docker容器引用外部SQL存储

凌宏大
2023-03-14

作为Docker的菜鸟,考虑使用大小为几百千兆字节或更多的SQL服务器进行存储,在我看来,在容器中存储这么多是不可行的。加载一个大文件需要时间,太字节范围内的文件的合理位置是将它与容器分开装载。

在谷歌搜索这些信息几天后,询问社区似乎更符合逻辑。希望一幅画能抵得上千言万语。

SQL Server容器如何装载外部SQL Server源(mdf、ldf、ndf),因为这些源位于Fortress(请参见屏幕截图)上,docker容器位于其他位置,比如某个云中的某个位置?类似地,堡垒也可以是一个云位置。

例子:

SQL CONTAINER 192.169.20.101
SQL Database Files 192.168.10.101

共有2个答案

齐思淼
2023-03-14

>

  • 打开Visual Studio代码的副本并打开终端

    如何访问Windows 10 docker桌面中的 /var/lib/docker?-该链接解释了如何从VSCode中获取linux bash命令

    docker run-it--privileged--pid=host debian nsenter-t1-m-u-ish

    直到您使用VSCode到达根并执行查找命令

    查找/-name"*. mdf"

    这列出了一个文件名,在我的例子中是:/var/lib/docker/overlay2/merged/var/opt/mssql/data作为存储位置

    使用docker compose在Windows计算机上添加存储位置。yml文件

    版本:“3.7”

    Dockerfile目标:开发端口:- 8000:8000卷: - ./:/应用-共享驱动器-1:/your_directory_within_container

    卷:shared-drive-1:driver\u opts:type:cifs o:“用户名=574677,密码”=P@sw0rd“设备://192.168。3.126/..."

    将源文件复制到共享驱动器中的卷(位于/var/lib/docker/overlay2/volumes/),我需要再次转到VSCode以获取根目录。

    在docker中将SSM打开到SQL实例并更改文件位置(您将分离它们,然后使用命令将它们交换到文件移动的卷)https://mssqlfun.com/2015/05/18/how-to-move-msdb-model-sql-server-system-databases/

    再次使用VSCode,转到根并启用mssql登录到 /var/opt/docker/volumes/Fortress下的数据文件夹的权限(不确定如何做到这一点,但在它的工作,并将在这里更新后,如果它可以做到,否则我将删除我的答案)

    再次使用SSMS和新的权限,将mdf/ldf再次附加到docker容器SQLServer

    最后,这里有一个很好的链接,解释了如何在容器和承载容器的windows机器之间来回传递文件

  • 郎弘业
    2023-03-14

    太字节范围内的文件的合理位置是将其与容器分开装载

    对更新SQL Server时,也会替换容器。

    这将更新您创建的任何新容器的SQL服务器映像,但不会更新任何正在运行的容器中的SQL服务器。为此,必须使用最新的SQL服务器容器映像创建一个新容器,并将数据迁移到该新容器。

    在容器中升级SQL Server

    因此,请阅读Docker卷,以及如何将其与SQL Server一起使用。

     类似资料:
    • 问题内容: 我面临以下问题:我创建了一个Jenkins Docker容器,并将主机上的Docker套接字与该容器链接。像这样: 然后,当我尝试在詹金斯上创建一些作业时,我收到通常的“权限被拒绝”消息: 尝试在unix:///var/run/docker.sock上连接到Docker守护程序套接字时获得的权限被拒绝:获取 http://%2Fvar%2Frun%2Fdocker.sock/v1.29

    • 我有一篇docker文章。yml,我有一个Postgres数据库,Grafana在上面运行以查询数据。 我用命令docker compose up启动这个compose,但是如果我不想丢失任何数据,我必须运行docker compose stop,而不是docker compose down。 我还阅读了,但“提交操作将不包括安装在容器内的卷中包含的任何数据”,所以我想它对我的需求没有用。 存储创

    • 我正在docker容器中设置一个应用程序。我希望这个应用程序能够与localstack堆栈容器localstack文档连接。当我运行时,容器会成功启动。我可以运行docker-compose文件中未包含的独立java应用程序,它将成功连接到localstack容器。但与localstack一起启动的应用程序无法连接。我看过docker文档和localstack文档,我想不出如何让这些东西彼此通信。

    • 我使用docker compose在docker容器中运行spring boot应用程序。spring boot使用嵌入式tomcat运行。 服务器上有一个带有图像的外部文件夹,我想从一个Spring引导docker容器中访问该文件夹。 在码头工人的房间里。yaml文件定义了以下容器: nginx mysql springboot应用程序 nginx和CloudFlare将域重定向到端口8080上

    • 主要内容:Docker 客户端,容器使用,运行一个 web 应用,查看 WEB 应用容器,网络端口的快捷方式,查看 WEB 应用程序日志,查看WEB应用程序容器的进程,检查 WEB 应用程序,停止 WEB 应用容器,重启WEB应用容器,移除WEB应用容器Docker 客户端 docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。 可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。

    • 上一节中,我们学会了如何从Docker Hub官方仓库中获取镜像。同时,我们已经知道,Docker镜像是静态的,要使用它,就是以镜像为模板,创建并运行Docker容器应用。 本节我们将详细介绍Docker容器的使用,在了解容器的各项操作之前,我们先来回顾一下,Docker 容器的生命周期里分为五种状态,其分别代表着: Created:容器已经被创建,容器所需的相关资源已经准备就绪,但容器中的程序还