精华内容
下载资源
问答
  • 不启动容器的情况下怎么修改容器内文件缘解决方案尝试一尝试二尝试三解决方案 缘 缘分就是这么巧,在对es添加ik分词的时候导致es无法启动,查找了各种方法,就是进不去,无法进入容器,也就修改不了文件,也就导致es...

    不启动容器的情况下怎么修改容器内文件

    缘分就是这么巧,在对es添加ik分词的时候导致es无法启动,查找了各种方法,就是进不去,无法进入容器,也就修改不了文件,也就导致es无法启动。

    解决方案

    在网上找不到有效的方案,大部分都是怎么对容器操作,或者说进入容器内修改什么的,我要是能进去,还不是万事大吉。。。

    尝试一

    换了一种思路,既然容器是在docker内,那docker是不是有这方面的语法呢?我记得docker有个rm命令能删除容器,那在后面加上容器内的文件路径,是否可行呢,经亲身实践,失败,docker在这方面只有启动容器后进入容器修改的命令,并没有在容器外修改的命令。

    尝试二

    既然docker对容器有复制的操作,是否有剪切的操作呢,在我看来,只要我将出问题的文件剪切出来,一样可以解决这个问题,经实践,失败,并没有此操作

    尝试三

    当然还尝试了之后多种方案,都无疾而终。就在一筹莫展的时候,忽然灵光乍现,既然docker是装在本机的,那么容器中的文件应该也是存放在本机的呀,立马尝试着对整个电脑进行搜索,命令:

    [root@localhost /]# find ./ -name elasticsearch
    

    然后就搜索到了一堆的文件,其中就有很多在docker文件夹下的存在,如图:
    在这里插入图片描述
    正所谓 功夫不负有心人!搜索到东西之后我就知道要成了,立即去复制了容器的id,进行搜索,搜索到了容器所在的目录。然后对搜索到的目录一个个查看,oh my god! 并没有找到所谓的容器目录,除了容器的配置文件之外并没有我需要的东西,心灰意冷中。

    解决方案

    也没有更好的办法,至少这是个突破口,既然通过容器id无法搜索到有用的信息,那我就通过ik分词的压缩包名称搜索,就和他刚上了。命令:

    [root@localhost /]# find / -name elasticsearch-analysis-ik-7.7.1.zip
    

    又果然,我搜索到了相关文件,而且只有寥寥几个, 搜索结果如图:
    在这里插入图片描述
    针对每个目录进行查找,终于确定/var/lib/docker/overlay2/{容器id}/diff/root/elasticsearch-analysis-ik-7.7.1.zip就是我要找的es容器目录。一顿猛如虎的操作之后(就是对容器目录(/var/lib/docker/overlay2/{容器id}/diff/)下的ik插件进行准确性的操作,在宿主机中操作更加的得心应手),es顺利启动。ok,给自己个赞。

    官网应该有这方面的技术文档,不过鄙人才疏学浅,这次操作失误也是自己对docker的内部实现机制理解不够通透,然而相对应少而精的领域技术来说,我更新欢大而广的世界,今天就到此为止吧。

    相对于一只鸟的自由,我更喜欢了无边际的天空

    展开全文
  • 把docker容器中的配置文件复制到主机中,然后在主机中修改修改完成后再复制到docker容器中 1. 复制docker容器文件到主机中 docker cp [容器id]:docker容器中配置文件路径 主机路径docker cp mysql:/etc/mysql...

    方法一(个人推荐这种方式

    把docker容器中的配置文件复制到主机中,然后在主机中修改,修改完成后再复制到docker容器中
    1. 复制docker容器的文件到主机中

    docker cp [容器id]:docker容器中配置文件路径  主机路径docker cp mysql:/etc/mysql/my.cnf /home/my.cnf

    2. 修改配置文件中出错的部分

    3. 配置文件到docker容器中

    docker cp 主机文件路径 容器id:docker容器中配置文件路径docker cp /home/my.cnf mysql:/etc/mysql/my.cnf

    4. 重启容器

     

     

    方法二

    运行命令 docker inspect [CONTAINER ID] ,可以找到如下的内容

     

    看到MergedDir:

    cd到 MergedDir , 你会惊奇的发现,他和我们容器里的目录结构是一样的.

    这样我们就可以在前者中,也就是在容器已经 "exit" 的情况下,修改容器中的配置文件, 修改完成后重启容器.

     

     

    展开全文
  • Docker修改容器内部文件的方法

    千次阅读 2020-05-11 21:15:56
    Docker修改容器内部文件的方法一共有三种,下面进行一一介绍。 1、进入容器内部修改 使用下面的命令以命令行的形式可以进入容器的内部对文件进行修改。 docker exec -it 容器ID /bin/bash 不过里面没有vim,需要...

    Docker修改容器内部文件的方法一共有三种,下面进行一一介绍。

    1、进入容器内部修改

    使用下面的命令以命令行的形式可以进入容器的内部对文件进行修改。

    docker exec -it 容器ID /bin/bash
    

    不过里面没有vim,需要自行安装,安装代码如下所示。不过不推荐这种形式,因为里边的文件是临时的,容器被删除之后,配置就失效了,需要从新配置。

    apt-get update
    apt-get install vim
    

    2、通过docker cp拷贝进行修改

    可以通过下面的代码将需要修改的文件拷贝出来,修改完成之后再拷贝回去。这种方式其实和第一种差不多,只是不用安装vim,但是容器被删除之后,修改过的内容也会失效。而且需要重启容器才能生效(好像)

    #将容器中的文件拷贝出来
    sudo docker cp 容器ID:/etc/mysql/my.cnf /home/tom/
    #将容器中的文件拷贝回去
    sudo docker cp /home/tom/my.cnf  容器ID:/etc/mysql/
    

    3、使用-v挂载文件夹(推荐)

    最后一种方法是在启动的时候使用-v将容器内部的文件夹挂载(映射)到本地的某个路径下,以后以后可以直接在本地修改,不需要进入容器内部.

    #冒号前是本地路径(需要绝对路径),冒号后是容器中的路径
    $ docker run --name mytomcat -v /home/www/webapps:/usr/local/tomcat/webapps -d tomcat
    
    展开全文
  • 如何修改docker容器内文件

    万次阅读 2020-06-02 14:34:18
    现在很多企业都开始使用docker来部署自己的项目了,使用docker部署项目可以更加高效,那么当我们有需要的时候,怎么修改docker容器内文件呢? 方法一:进入容器修改 步骤一:使用docker run -itd -p 80:...

    现在很多企业都开始使用docker来部署自己的项目了,使用docker部署项目可以更加高效,那么当我们有需要的时候,怎么修改docker容器内的文件呢?

    如何修改docker容器内文件

    方法一:进入容器修改

    1.  

      步骤一:使用docker run -itd -p 80:80 --name=mynginx nginx:latest命令创建容器。

      如何修改docker容器内文件

    2.  

      步骤二:使用docker exec -it 88fae5be9f5b bash命令进入容器,直接和宿主机一样,使用vi命令编辑文件。

      注:如果vi命令没有,可以使用yum -y install vim或者apt-get install vim命令安装。

      如何修改docker容器内文件

      END

    方法二:宿主机上修改

    1.  

      步骤一:docker提供了数据持久化的方式,让docker内数据修改更加便利,容器创建的时候做好目录映射,直接修改宿主机文件,容器内的文件会相应变化。

      docker run -itd -p 8080:80 -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf --name=webtest nginx:latest    命令创建容器,将宿主机nginx.conf文件映射到容器内部nginx服务/etc/nginx/目录下。

      如何修改docker容器内文件

    2.  

      步骤二:当我们修改容器内的nginx.conf配置文件时,直接修改宿主机/etc/nginx/nginx.conf配置即可,如图,我们在宿主机插入hello数据,进入容器内部检查,容器内数据也发生了变化,是不是很方便。

      如何修改docker容器内文件

    展开全文
  • docker 修改无法启动的容器内文件 docker 修改已停止的容器内文件 修改了docker服务的配置文件, 修改后重启docker时因为配置错误导致docker无法启动, 这时无法通过exec方式再次进入容器进行修改。 # 1. ...
  • docker 修改已停止的容器文件,此种情况会在需要批量修改容器初始配置时用到。 具体修改操作如下: 1. # 通过查看容器日志,确定是什么问题,docker logs -f -t --tail 行数 容器名 docker logs -f -t --tail ...
  • 修改容器中的配置文件,restart了一下,容器没有启动,用docker logs 容器id 查询日志,原因是写的语句有问题 方法: 把docker容器中的配置文件复制到主机中,然后再主机中修改,修改完成后再复制到docker容器中 ...
  • 修改了某个容器的设定文件,导致此容器无法启动时,如果此时设定文件未被挂出,则会导致无法改回此文件而重新启动容器,可以在宿主机上找到此文件,进行修改即可。
  • docker 编辑容器内文件

    2021-02-05 13:00:43
    docker 编辑容器内文件 近期在学习docker 为编辑容器中文件,可以使用以下几种方法,特此记录 方法1:在容器中修改 ...修改容器文件方法如下: 从容器中拷贝目标文件到本地路径 docker cp 容器id或容器名:
  • docker修改容器内的配置

    千次阅读 2019-10-25 20:38:00
    1.进入docker容器 docker exec -it containerID bash #可以安装vi进行修改 或者 docker run -v ... docker cp host/path:/container/path #拷贝本地文件容器中 2.docker容器是默认没有vim的,我们...
  • Docker容器启动后,有时候我们会在容器中安装一些应用,此时就会遇到一个问题,这些应用的端口也需要映射到宿主机,那么该如何做呢? 下面以一个oracle容器为例,展示这个过程。 环境准备 Linux: CentOS 7.3 Docker:...
  • 修改了docker容器中的配置信息,由于配置文件写错,或者配置文件格式错误等原因,导致容器无法再次启动 方法一 docker容器的一些配置信息一般在var/lib/docker/overlay下面,我们到此目录找到对应的配置,修改后...
  • 要求:替换ssl证书,并修改nginx容器配置文件恢复https访问 环境:centos7 准备好ssl两个证书 .pem .key和新更换的域名 1、首先停止nginx容器: docker stop CONTAINER ID2、查找nginx配置文件位置 #find / -name ...
  • docker/k8s修改容器hosts文件

    千次阅读 2019-06-27 20:23:25
    docker镜像本质上是一个包含了整个操作系统的文件和目录的rootfs,用户制作镜像的每一步操作都会生成一个层,也就是一个增量的rootfs。 docker容器的rootfs由只读层,init层和可读写层。 我们的/etc/hosts和/etc/...
  • 修改 docker 容器(container) 里文件

    万次阅读 2019-06-05 15:42:17
    一是进入容器,修改容器里的MySQL的配置文件,然后重新启动容器,例如: $ sudo docker exec -it pwc-mysql /usr/bin/bash 然后可以进入容器的命令行模式,接着修改/etc/mysql/my.cnf文件即可 二是挂载...
  • 修改了docker容器中的配置信息,由于配置文件写错,或者配置文件格式错误等原因,导致容器无法再次启动 方法:docker容器的一些配置信息一般在var/lib/docker/overlay2下面,我们到此目录找到对应的配置,修改...
  • 最后用的方法是:(注意此方法仅适用于,容器创建后,修改文件造成服务无法启动) 1.使用docker start -i 【容器】,获得出错信息,找到错误文件位置 2.使用docker container cp 容器名:容器内修改文件路径(中间...
  • xshell 修改docker容器文件重新启动 1.xshell 本地 ssh 10.0.0.1 选择证书登录 2. ls 查看文件目录 pwd 查看当前目录路径 docker ps 查看当前运行容器 docker exec -it 容器名称 /bin/bash 3. 进入容器相应的...
  • 1、找到容器对应的ID ...这里要下载vim,不然无法文件进行修改 具体执行如下两个命令:apt-get update、apt-get install vim 5、对my.cnf文件进行修改 执行vim my.cnf命令 6、退出bash修改 1)Ctrl + d 退出并
  • docker修改容器中的文件

    千次阅读 2020-10-28 16:23:54
    1.使用命令docker exec -it 容器id /bin/bash进入容器中,安装vim编辑器。 1).同步源索引:apt-get update 2).安装vim:apt-get install vim 3).输入vim 文件名 即可编辑文件了 注:直接输入命令apt-get ...
  • 直接修改docker容器文件方式

    千次阅读 2020-03-17 15:28:32
    复制docker中的文件到宿主机,再修改文件,然后将修改后的文件从宿主机复制到容器中; 登陆docker中找到需要编辑的文件的位置 1 2 sudodockerps-a sudodockerexec-it xxx...
  • docker下修改nginx配置文件不自动同步到容器内解决方法之前的使用情况存在的问题解决方法 之前的使用情况 之前一直使用如下命令运行nginx容器,并将所有的配置信息都写到nginx.conf中 docker run -p 80:80 \ --...
  • 1. 查找需要修改容器ID 这里是:7c4a586505d2 2. 找到需要编辑的文件的位置 $ sudo docker exec -it registry /bin/bash root@7c4a586505d2:/etc/docker/registry# ls -l total 4 -rw-rw-r-- 1 root root 349 Jun...
  • Docker 在容器内修改配置文件后,重启后,使用ps查看却没有起来。 查看错误信息发现是刚刚修改的配置文件出错,但是想通过exec 命令 却进入不了容器。 这时候就用到了 container cp 命令 使用 docker start -i ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 412,278
精华内容 164,911
关键字:

无法修改容器内的文件