docker 挂载、修改文件的步骤

 更新时间:2023年03月14日 14:22:42   作者:阳仔的屁仔  
这篇文章主要介绍了docker 挂载、修改文件的步骤,咱们使用的是docker的 copy 命令从容器中 copy 出来相关的配置文件,在本地修改,修改完毕在使用docker的 copy 命令从本地 copy 到容器中,重启容器生效的,需要的朋友可以参考下

docker 挂载、修改文件

前段时间咱们使用Docker安装了Nginx并且系统学习了Nginx的相关知识,其中有一节是修改Nginx的配置达到方向代理的效果。咱们使用的是docker的 copy 命令从容器中 copy 出来相关的配置文件,在本地修改,修改完毕在使用docker的 copy 命令从本地 copy 到容器中,重启容器生效的。咱们的操作也是相当的费劲,俗话说条条大路通罗马,那有没有其他的方式可以更快捷的达到咱们想要的效果呢,答案当然毋庸置疑,今天咱们就整理下修改docker容器中的文件的几种方式,希望可以帮助大家。

先说结论在看实践。修改docker容器中的文件有三种方式,各有有缺点。

第一种:在docker中安装 vim 工具,这样做的优点就是容器创建的时候安装一次,以后就直接使用命令修改操作文件,方便快捷。缺点就是容器销毁的时候就丢失了,下次容器创建的时候还需要重新安装。

第二种:使用docker 的 copy 命令将docker容器中的文件copy到本地修改,在用docker 的copy命令将修改好的文件复制回容器,优点是不需要安装和操作任何配置,缺点当然显而易见,每次修改都要进行好几次的copy,费时费力。

第三种:当然是“挂载”,所谓挂载就是将容器的文件和本地的文件进行映射,修改本地文件就相当于修改了容器中的文件,优点就是方便不用进入容器内部就可以修改文件,并且不用频繁的 copy,这样对比下来大家都能看出来采用挂载是最有的解决方案,咱们本次记录都会记录下,然后大家分别尝试练习。

第一种:安装工具

因为容器是与本地几乎隔绝的,所以我们要先安装vim。安装完成后就可以修改配置文件了。

1. 先更新包管理

apt-get update

2. 安装vim

apt-get install vim

时间比较慢,如果有找到如何更新安装源的小伙伴贴到评论区分享下

第二种:docker copy命令

docker 的copy修改容器文件分为两个步骤,第一步:从容器中copy文件到本地“从docker中cp文件到本地”,第二步:从本地copy文件到容器“从本地cp文件到docker容器”,注意容器文件位置和提前创建好本地文件的位置。

# 从docker中cp文件到本地
sudo docker cp 容器Id:/etc/nginx/conf.d/default.conf  /Users/liluyang/mydocker
 
# 从本地cp文件到docker容器
sudo docker cp /Users/liluyang/mydocker/default.conf 容器Id:/etc/nginx/conf.d/
 
# 重启容器生效
docker restart 容器ID

第三种:docker 挂载

docker 挂载就是将docker原来存在于容器中的文件,映射到本次服务器的磁盘上,这样做的好处就是修改文件方便,并且容器删除不应熙哪个挂载的文件,容器重新创建的时候还可以重复利用。也有两种方式可以采用控制台挂在也可以采用命令挂在咱们都梳理一下。

第一种:控制台挂载

第一步:准备工作

首先在咱们本地创建要挂载的目标挂在路径。我已经在本地创建好了挂载目标路径,并且窗景了项目的目录文件。

<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>hello docker nginx 111!</h1>
</body>
</html>

第二步:配置

打开控制台找到对应的镜像。咱们选中nginx,点击后面的run,点击optional setting进行相关配置。其中比较重要的我都标记出来了,首先是映射端口,为了防止冲突我设置为8089,接下来是挂载的目标路径。就是上面咱们准备工作所创建的本地路径:/Users/liluyang/docker/volumes/nginxVolume/index。接下来是被挂载路径,就是咱们容器上的路径,我这里选择的是项目目录。

第三步:运行

配置完毕,点击“run”走你。使用docker命令查看 docker ps。

第四步:验证

浏览器输入localhost:8088,是没有挂载的文件的结果。

浏览器输入localhost:8089,是挂载了的文件的结果。

第二种:命令挂载

docker挂载的第二种方式就更简单了,采用命令挂载。咱们使用命令挂载的容器名称叫“docker_nginx”,监听的端口是8010,并且挂在和8089那个容器一样。

docker run --name docker_nginx -d -p 8010:80 
-v /Users/liluyang/docker/volumes/nginxVolume/index:/usr/share/nginx/htmlnginx

验证也没问题,结果一样。

实践:文件修改

前面介绍了几种修改文件的准备工作,接下来就实际操作一下看看效果。关于第二种docker copy命令修改文件,大家可以看看“Docker Nginx 反向代理”这篇文章里面就是使用的命令方式修改文件,这里不做赘述了。https://www.jb51.net/article/242320.htm。接下来咱们看看挂载修改文件的效果。这里我修改了一下文件内容并保存。

可以看到http://localhost:8010/,http://localhost:8089/都生效了,是不是很简单方便呢。

到此这篇关于docker 挂载、修改文件的文章就介绍到这了,更多相关docker 挂载文件修改内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mac M1 Docker如何运行nacos2.0.3(若依微服务框架)

    Mac M1 Docker如何运行nacos2.0.3(若依微服务框架)

    这篇文章主要介绍了Mac M1 Docker如何运行nacos2.0.3(若依微服务框架),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 如何对已有docker容器增加新的端口映射详解

    如何对已有docker容器增加新的端口映射详解

    最近使用Docker作为容器部署项目的时候,发现有个问题就是容器只能在启动的时候配置预先配置端口,但是往往实际应用的过程中会发现端口不够用,下面这篇文章主要给大家介绍了关于如何对已有docker容器增加新的端口映射的相关资料,需要的朋友可以参考下
    2022-08-08
  • docker安装java环境的实现步骤

    docker安装java环境的实现步骤

    这篇文章主要介绍了docker安装java环境的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Docker nacos集群部署的实现

    Docker nacos集群部署的实现

    本文将深入探讨如何使用Docker来部署Nacos集群,从而实现服务的快速扩展、高可用性和可维护性,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • Docker镜像加载原理

    Docker镜像加载原理

    Docker镜像是Docker容器运行的基础,没有Docker镜像,就不可能有Docker容器,这也是Docker的设计原则之一 ,本文给大家介绍Docker镜像加载原理,感兴趣的朋友一起看看吧
    2021-06-06
  • MySQL容器中docker-entrypoint-initdb.d目录的使用

    MySQL容器中docker-entrypoint-initdb.d目录的使用

    这篇文章主要介绍了MySQL容器中docker-entrypoint-initdb.d目录的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Docker容器在系统启动时自动运行配置方法

    Docker容器在系统启动时自动运行配置方法

    docker容器化可以使得环境相对独立,减少污染,这篇文章主要给大家介绍了关于Docker容器在系统启动时自动运行配置的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • 基于Docker搭建Redis主从集群的实现

    基于Docker搭建Redis主从集群的实现

    本文基于Docker+Redis5.0.5版本,通过cluster方式创建一个6个redis实例的主从集群,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 关于docker registry使用详解

    关于docker registry使用详解

    Docker Registry 是一个无状态,高度可扩展的服务器端应用程序,它存储并允许您分发Docker映像,本文给大家介绍docker registry使用及相关配置,感兴趣的朋友一起看看吧
    2022-03-03
  • Docker常见命令介绍

    Docker常见命令介绍

    这篇文章介绍了Docker中的常见命令,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03

最新评论