-v /root/mysql/conf:/etc/mysql
上面命令可以将宿主机目录挂载到容器中,当容器目录不为空时,宿主机目录下的文件会覆盖了容器目录中的文件。
如果我现在宿主机没有配置文件,/root/mysql/conf
是空。
我想把容器中默认的配置映射出来,效果是容器启动后,/root/mysql/conf
目录下出现了容器 /etc/mysql
目录下的内容,如何实现。
-v mysql_conf:/etc/mysql
使用具名挂载可以实现同样效果,但是无法自定义宿主机目录,所有 volume
都在 /usr/lib/docker/volumes/xxx/_data
下
目前我的做法是先运行容器,先把容器中的目录拷贝出来,然后再创建一个新容器,通过 -v 挂载。
你可以使用 docker cp
命令来复制容器中的文件或目录到宿主机上,然后再挂载到新的容器中。
步骤如下:
docker run -d mysqldocker cp <container_id>:/etc/mysql /root/mysql/conf
docker run -d -v /root/mysql/conf:/etc/mysql mysql
这样,/root/mysql/conf
目录就会包含容器中 /etc/mysql
目录的内容。
然而,这种方式有一些限制。例如,如果你想在运行时动态地更改容器中的文件,你可能需要每次都复制和挂载文件,这可能会有些繁琐。另外,这种方法也不能处理在容器中创建新文件的情况。对于这种情况,你可能需要使用更复杂的方法,例如使用 Docker Compose 或编写自己的 Dockerfile 来处理数据持久化和同步的问题。
问题内容: 我正在尝试通过我的应用进行连接。如果我通过或通过运行应用程序,则所有这些工作都可以进行。但是,当我在其中运行应用程序时,出现以下错误消息: 请注意,在以上错误消息中正确,但其他时间晚了5天。 我发现有趣的是,我只在docker容器中收到过此消息。 需要注意的一件事是,但是删除它根本没有帮助我 我基本上从IntelliJ运行相同的步骤,但没有问题,但是在docker中,到期日期似乎要晚5
问题内容: 如果我在某个主机上运行mysql数据库,并且该主机也正在运行docker容器:我如何从主机上运行的docker容器中访问mysql数据库? 例如,是否有一种方法可以将主机端口发布到容器(与docker run -p的作用相反)? 问题答案: 关于如何以一致的,易于理解的和可移植的方式执行此操作的问题已有很长时间的讨论。尚无完整的解决方案,但我会将您链接到下面的讨论。 无论如何,您都想尝
问题内容: 我找不到将Docker运行容器从一台主机移动到另一台主机的方法。 有什么办法可以像将图像一样将容器推入存储库吗?当前,我不使用数据卷来存储与在容器内运行的应用程序关联的数据。因此,一些数据驻留在容器内,我想在重新设计设置之前将其保留。 问题答案: 您无法将正在运行的Docker容器从一台主机移动到另一台主机。 您可以使用将容器中的更改提交到映像,将映像移到新主机上,然后使用启动新容器。
我在不同的机器上各有3台redis服务器。是否有可能在3台服务器之间同步,即每台服务器具有相同的数据。 我考虑使用主从模式,也就是说,所有的写操作都会发送到一台服务器(a),这台服务器就是主服务器。其他2台服务器(B、C)是从服务器,您可以从中读取数据。但问题是,当主机启动时,您尝试从从机读取时,您会被重新定向到主机-我希望从机为读取服务。 我如何实现这个要求? 要回答以下问题:- 如下图所示,1
问题内容: 我在Docker容器中安装并将其与主机同步时遇到问题。我的Docker版本是,而Docker Compose版本是。 我的样子是: 我的: 该应用程序运行良好。源代码已同步。热装也很棒。 我唯一的问题是主机上的文件夹为空。是否可以将Docker容器中的文件夹与主机同步? 另外,我已经找到了此博客文章。作者试图解决我面临的同样问题。问题是,由于我们只是将它们从Docker容器复制到主机,