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

摘要:
Docker安装镜像后,每个服务都是一个独立的容器。容器可以说是独立和隔离的。如何在安装容器后修改配置文件。例如,在我们安装了nginx并将其安装在多个容器中以实现主从之后,我们无法修改每个服务器的配置文件,这太麻烦了。幸运的是,Docker为我们提供了一种技术-v mount覆盖技术。dockerrun-namemynginx-d-p80:80-v/data/nginx/conf/nginx。conf:/etc/nginx/nginx。conf-v/data/nginx/logs:/var/log/nginx-ddocker。io/nginx此命令的意思是:dockerrun-namemynginx#运行名称或ID为mynginx-d-p80:80#的容器,外部映射端口80,内部映射端口80。

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 目录。。

免责声明:文章转载自《docker 挂载实现容器配置更改为外部文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ubuntu 修改用户名和密码Yii2.0 用户登录详解(上)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CentOS7安装zabbix

二进制包安装    centos 7 添加阿里云镜像 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum install epel-release 安装常用的开发组件 yum groups install "Develo...

记一次阿里云服务器中部署egg遇到的问题 (docker vim)

------------恢复内容开始------------ 1.下载好egg脚手架, 在package.json 同目录 添加 Dockerfile 2.编写Dockerfile # 设置基础镜像,如果本地没有该镜像,会从Docker.io服务器pull镜像 FROM node # 设置时区 # RUN apk --update add tzdata...

阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之Nginx配置

搭建好LNMP环境之后,接着要考虑的就是整个系统的并发能力了。 一、Nginx的配置 Nginx有很好的并发能力。但是要想使它的并发能力能够施展出来,需要在初步安装好的Nginx上做一些配置。主要需要修改的一些配置有: 1.nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。 worker_processes 8; 2.为每个...

使用docker私有化部署nuget server-proget

在linux上使用docker部署proget 首先创建共用网络proget docker network create proget 创建postgresql库 docker run -d -v /etc/localtime:/etc/localtime:ro -v /var/proget/db:/var/lib/postgresql/data --ne...

如何找出 nginx 配置文件的所在位置?

nginx: 查找 nginx 配置文件的位置 原文地址:https://www.cnblogs.com/qianpangzi/p/10922420.html 另外补充:通过 where nginx 可以找出 nginx 命令(可能是链接文件)所在地址: ➜ bin where nginx /usr/local/bin/nginx 如果您要查找到目标源...

python+unittest+requests实现接口自动化的方法

前言: Requests简介 Requests 是使用Apache2 Licensed许可证的 HTTP 库。用 Python 编写,真正的为人类着想。 Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 有点落后了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最...