docker 挂载、修改文件

这篇具有很好参考价值的文章主要介绍了docker 挂载、修改文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

docker 挂载、修改文件

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

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

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

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

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

docker 挂载、修改文件

第一种:安装工具

因为容器是与本地几乎隔绝的,所以我们要先安装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原来存在于容器中的文件,映射到本次服务器的磁盘上,这样做的好处就是修改文件方便,并且容器删除不应熙哪个挂载的文件,容器重新创建的时候还可以重复利用。也有两种方式可以采用控制台挂在也可以采用命令挂在咱们都梳理一下。

第一种:控制台挂载

第一步:准备工作

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

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。接下来是被挂载路径,就是咱们容器上的路径,我这里选择的是项目目录。

docker 挂载、修改文件
docker 挂载、修改文件
第三步:运行

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

docker 挂载、修改文件
第四步:验证

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

docker 挂载、修改文件

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

docker 挂载、修改文件

第二种:命令挂载

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 挂载、修改文件

实践:文件修改

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

docker 挂载、修改文件

可以看到http://localhost:8010/,http://localhost:8089/都生效了,是不是很简单方便呢。文章来源地址https://www.toymoban.com/news/detail-446900.html

docker 挂载、修改文件
docker 挂载、修改文件

到了这里,关于docker 挂载、修改文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ROS主机搭建NFS服务器,虚拟机通过挂载访问及修改主机文件

       本文主要介绍在ROS主机中搭建NFS服务器,虚拟机(从机)通过nfs挂载的方式访问及修改主机中文件的方法    一、ROS主机NFS服务器搭建:    若机器人配有显示屏,此部分可直接在机器人上操作,否则,可通过SSH远程登录的方式,在虚拟机上进行远程登录后操作,下

    2023年04月22日
    浏览(47)
  • docker配置文件挂载(容器数据管理)

    在之前的nginx案例中,修改nginx的html页面时,需要进入nginx内部。并且因为没有编辑器,修改文件也很麻烦。 这就是因为容器与数据(容器内文件)耦合带来的后果。 要解决这个问题,必须将数据与容器解耦,这就要用到数据卷了。 数据卷(volume) 是一个虚拟目录,指向宿

    2024年02月15日
    浏览(60)
  • docker安装redis,并挂载配置文件

    1:下载镜像,不添加版本 默认下载最新的 下载成功后如图所示 2:下载redis配置文件,我是在docker中下载的,也可以使用文件上传工具将配置文件上传到自己指定的目录。 首先需要安装wget,否则就会提示 命令: 下载成功后如图所示: 接着下载配置文件:(在自己指定的文

    2024年02月10日
    浏览(35)
  • Docker Volume - 目录挂载以及文件共享

    Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(Data Volume)。数据卷可以用来存储Docker应用的数据,也可以用来在Docker容器间进行数据共享。数据卷呈现给Docker容器的形式就是一个目录,支持多个容器间共享,修改也不会影响镜像。使用Docker的数

    2024年02月20日
    浏览(46)
  • docker部署nginx挂载配置文件报错

    解决方法: 在挂载nginx.conf文件时,先将配置文件放在宿主机指定的目录下 如:-v /data/topnginx/nginx.conf:/etc/nginx/nginx.conf 将nginx.conf文件先放在topnginx目录下,再运行docker run 错误提示:

    2024年02月16日
    浏览(39)
  • Docker启动Elasticsearch(挂载数据、配置文件、插件)

    docker pull elasticsearch:7.4.2 注意:启动前需要在服务器新建下列文件夹,并且文件夹的权限要改成使用 chmod -R 777 file 修改文件读写权限 先进入容器,然后执行 访问ip:9200即可。

    2024年02月14日
    浏览(36)
  • 在 Docker 中部署 Mino 并挂载配置文件

    首先,在主机上创建一个目录,用于存放 Mino 的配置文件。例如,创建一个名为 mino 的目录,用于存放 Mino 的配置文件。 使用以下命令从 Docker Hub 上拉取 Mino 的最新镜像: 使用以下命令启动一个名为 minio 的 Mino 容器,并将主机的 mino 目录挂载到容器内的 /root/.minio 目录: 其

    2024年02月09日
    浏览(64)
  • 在 Docker 中部署 Nginx 并挂载配置文件

    首先,在主机上创建一个目录,用于存放 Nginx 的配置文件。例如,创建一个名为 nginx 的目录,用于存放 Nginx 的配置文件。 使用以下命令从 Docker Hub 上拉取 Nginx 的最新镜像: 使用以下命令启动一个名为 nginx 的 Nginx 容器,并将主机的 nginx 目录挂载到容器内的 /etc/nginx/conf.d

    2024年02月16日
    浏览(41)
  • 在 Docker 中部署 Nacos 并挂载配置文件

    首先,在主机上创建一个目录,用于存放 Nacos 的配置文件。例如,创建一个名为 nacos 的目录,用于存放 Nacos 的配置文件。 使用以下命令从 Docker Hub 上拉取 Nacos 的最新镜像: 使用以下命令启动一个名为 nacos 的 Nacos 容器,并将主机的 nacos 目录挂载到容器内的 /home/nacos/init.

    2024年02月16日
    浏览(45)
  • 在 Docker 中部署 Redis 并挂载配置文件

    在 Docker 中部署 Redis 并挂载配置文件,可以使用以下步骤: 首先,在主机上创建一个目录,用于存放 Redis 的配置文件。例如,创建一个名为 redis 的目录,用于存放 Redis 的配置文件。 使用以下命令从 Docker Hub 上拉取 Redis 的最新镜像: 使用以下命令启动一个名为 redis 的 Red

    2024年02月11日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包