docker使用技巧小记
1、在使用docker的时候有很多人习惯使用官方镜像、有的人喜欢自己制作镜像,有的时候都是使用默认的配置启动的服务,或者自己在制作镜像的时候直接将配置文件打包到镜像里面了。有的时候会碰到要修改配置文件的情况,而又不想麻烦去创建一次镜像,可以直接进入到docker container里面去修改文件。但是这样会有种情况就是修改错了配置文件导致container启动不了了,而配置文件有没有映射出来,这个就比较捉鸡了。但是办法总比问题多,新版的docker使用overlay2做存储,旧版本用的是devicemapper。container的文件都是一层层存在的,都会存储到overlayer2里面。最终都是落地到物理机的磁盘上面的。了解到这些就好办了,直接去找到文件的位置,把修改错的配置修改正确,就可以正常启动了。首先先看一下docker的目录构成:

我这里设置的存储路径是/data/docker、storage-driver是overlay2。这个设置参考我的其他博客https://www.cnblogs.com/cuishuai/p/9485939.html,这里不做介绍。我们要找的文件就是在overlay2这个目录里面,当然你需要借助搜索手段去寻找,因为这个目录下面都是hash值目录。
比如我这里修改的elasticsearch.yml:

最下面的文件就是最新修改的文件,直接修改最后一个就好了。修改完成再去重新启动container就好了。
当然如果修改的配置是通用的,可以将修改后的container提交为一个镜像,以便以后使用,使用docker container commit命令
docker container commit -a "author" -m "update es config" elasticsearch fastest/elasticsearch:6.5.
Usage: docker container commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Options:
-a, --author string Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
-c, --change list Apply Dockerfile instruction to the created image
-m, --message string Commit message
-p, --pause Pause container during commit (default true)
docker使用技巧小记的更多相关文章
- Docker实用技巧之更改软件包源提升构建速度
一.开篇 地球,中国,成都市,某小区的阳台上,一青年负手而立,闭目沉思,阵阵的凉风吹得他衣衫呼呼的飘.忽然,他抬起头,刹那间,睁开了双眼,好似一到精光射向星空,只见这夜空......一颗星星都没有.他 ...
- Docker 建站小记
一,前言 Docker 建站小记,我使用了四个镜像来搭建:nginx,certbot,mysql,gradle.欢迎访问:https://www.zzk0.top 这个网页是从 github 上找的个 ...
- docker-8 docker小技巧
docker使用小技巧 杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有的已经停止的容器 docker rm $(docker ps -a -q) 删除所 ...
- Docker学习3-简单shell脚本安装mysql5.7与docker小技巧
前言 玩过Windows中的 .bat 的小伙伴是不是觉得很有意思呢,github中一键推送.同步拉取等等操作,哈哈,当然shell脚本也是很类似,可以运行一个脚本就可以自动给我们部署好环境啦!但是这 ...
- Ubuntu上Grafana 监控 Docker的技巧
导读 Grafana 是一个有着丰富指标的开源控制面板.在可视化大规模测量数据的时候是非常有用的.根据不同的指标数据,它提供了一个强大.优雅的来创建.分享和浏览数据的方式. 它提供了丰富多样.灵活的图 ...
- docker 小技巧 列出所有容器的IP地址
命令如下: [root@localhost ~]# docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{ ...
- docker 小技巧 docker network create br-name 指定IP地址
在某些情况下,使用 docker network create br-name 命令创建网络的时候,会创建一个新的网桥,该网桥的默认IP地址为172.18.0.0\16(或相临的IP地址段) 这个ip ...
- Docker常用命令小记
除了基本的docker pull.docker image.docker ps,还有一些命令及参数也很重要,在此记录下来避免遗忘. 环境信息 以下是本次操作的环境: 操作系统:CentOS Linux ...
- Docker踩坑小记
Docker是一个开放平台用于快速开发.分发和部署应用程序. Docker是一种容器管理技术. 解决头疼问题原则:回归最简单的方式来.确保最初级的方案没有错误. 安装 docker安装很简单, ...
随机推荐
- 21. pt-stalk
pt-stalk 适用场景:MySQL Server 性能波动出现的频率很低.例如.几天一次MySQL Server 性能波动出现的机率很快.例如.几秒闪过 pt-stalk h=192.168.10 ...
- 获得文件的CRC32值
使用方法:先调用init_crc32_tab生成查询表,再调用calc_img_crc获得文件的CRC值. #define Poly 0xEDB88320L//CRC32标准 ];//CRC查询表 / ...
- Ubuntu 利用 crontab 和 notify-send 定时发送桌面通知,提示该休息啦
[经测试,每隔多少分钟执行并不像自己想象的一样] 比如:每隔50分钟执行一次提醒 */50 * * * * export DISPLAY=:0.0; notify-send -i /home ...
- TensorFlow环境搭建
1.使用pip安装TensorFlow 第一步安装pip: 先安装python 官网下载地址https://www.python.org在里面选择适合自己的版本 安装python的过程中pip也会随之 ...
- Linux命令之tee - 重定向输出到多个文件
http://codingstandards.iteye.com/blog/833695 tee 将标准输出复制一份 ls -al | tee -a tmpls.log ls -al >> ...
- Lambda表达式where过滤数据
使用Lambda的表达式来过滤符合条件的数据.下面的代码实现,是把字符阵列中,把名字长度等于3元素找出来. class Bv { public void LambdaExpression() { st ...
- ssh命令-使用密钥文件进行登陆
在win上面可以使用XSHELL来登录类似于阿里云这样的安全服务器,在ubuntu上面就可以使用系统自带的命令工具来连接 使用命令 ssh -i key.pem [server] 实例如下: ssh ...
- 谷歌浏览器怎么FQ(一)(想使用谷歌浏览器应用商城的小伙伴这边看)
谷歌浏览器的应用商城里本身有很多不错的扩展程序和插件,比如Wappalyzer(能够识别某个网站用的什么框架和库)广告终结者(能屏蔽大部分浮动,弹窗,甚至视频广告)等 但是谷歌因为某些原因需要FQ以后 ...
- B - Red and Black 问题思考
红黑地板问题 There is a rectangular room, covered with square tiles. Each tile is colored either red or bl ...
- C#中关于as关键字的使用
我们在实际编码中有时会用到as关键字来将对象转换为指定类型,与is类型不同的是,is关键字是用于检查对象是否与给定类型兼容,如果兼容就返回true,如果不兼容就返回false.而as关键字会直接进行类 ...