docker 挂载实现容器配置更改为外部文件

docker安装镜像后,每个服务都是独立的容器,容器与容器之间可以说是没关系,隔离独立的。

而且虚拟出来的这些容器里面的基本安装工具都是没有的,比如vi,vim等等。需要使用,还得安装处理。

那么我们安装的容器后我们怎么去修改配置文件。比如nginx我们安装好了之后,而且安装在多个容器实现主从后,我们不可能每台服务器的配置文件都去修改一下,这样就太麻烦了。而且太不好维护了。

好在docker给我们提供了一个技术  -v 挂载覆盖技术。

原理,就是在我们的服务器上的某个目录中,上传好我们的配置信息,然后在启动运行服务的时候,加上-v 用本地目录,覆盖容器中的目录的配置。那么问题就解决了。

docker run --name mynginx -d -p 80:80  -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx

这个命令意思:

docker

run --name mynginx #运行名字或ID为myinginx的容器

-d -p 80:80 #对外映射80端口,对内转发也是80端口。

 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  #用/data/nginx/conf/nginx.conf文件覆盖容器内的/etc/nginx/nginx.conf文件。

-v /data/nginx/logs:/var/log/nginx -d docker.io/nginx #用/data/nginx/logs目录覆盖 /var/log/nginx 目录。。

posted on   陈惟鲜的博客  阅读(7936)  评论(0编辑  收藏  举报

编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2015-12-22 spring 使用 context:property-placeholder 加载 多个 properties
2015-12-22 Spring自动注入Bean

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示