docker使用技巧小记

摘要:
有时需要修改配置文件,您可以直接进入docker容器来修改文件,而不必费心创建图像。然而,方法比问题更多。新版本的Docker使用overlay 2进行存储,而旧版本使用devicemapper。首先,让我们看看docker的目录组成。我在这里设置的存储路径是/data/docker,存储驱动程序是overlay 2。

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

docker使用技巧小记第1张

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

比如我这里修改的elasticsearch.yml:

docker使用技巧小记第2张

最下面的文件就是最新修改的文件,直接修改最后一个就好了。修改完成再去重新启动container就好了。

当然如果修改的配置是通用的,可以将修改后的container提交为一个镜像,以便以后使用,使用docker container commit命令

docker container commit  -a "author" -m "update es config" elasticsearch  fastest/elasticsearch:6.5.1

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使用技巧小记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python的2D绘图库matplotlibLinux下常用小工具、命令行下篇

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

相关文章

docker资料卷——mysql

简介 docker是运行在虚拟环境中的,这样会有一个问题,那就是储存在docker内的数据会随着docker的重启、宕机而丢失,从而造成不可估量的损失。 所以docker提供了-v指令,可以将容器内的目录以及文件映射到外部文件系统,容器启动时会读取外部文件系统,从而保证数据的完整性。 mysql作为最流行的数据库之一,使用范围十分广泛,如果部署在docke...

Android-SDK国内更新镜像及设置

Android SDK在线更新镜像服务器 中国科学院开源协会镜像站地址: IPV4/IPV6: http://mirrors.opencas.cn 端口:80 IPV4/IPV6: http://mirrors.opencas.org 端口:80 IPV4/IPV6: http://mirrors.opencas.ac.cn 端口:80 上海...

Docker Swarm volume 数据持久化

Docker Swarm volume 数据持久化 volume 是将宿主级的目录映射到容器中,以实现数据持久化。 可以用两种方式来实现: volume 默认模式:工作节点宿主机数据同步到容器内。 volume NFS 共享存储模式:管理节点宿主同步到工作节点宿主,工作节点宿主同步到容器。 环境: 系统:Centos 7.4 x64 应用版本:Doc...

kvm虚拟机快照备份

kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。   要使用镜像功能,磁盘格式必须为qcow2。下面开始kvm虚拟机快照备份的过程。 本文出自:http://koumm.blog.51cto.com 进一步的学习参考:kvm+libvirt虚拟机快照浅析 http:/...

Ubuntu16.04+nvidia docker

一、安装过程: https://blog.csdn.net/heiheiya/article/details/102834222 1、先卸载干净以前的nvidia-docker sudo docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f vo...

【干货最详细】Jmeter + Grafana + InfluxDB 性能测试监控平台搭建

  1、首先我们需要了解Jmeter 相信做it的没有人不知道jemter 就算没用过但是至少是听说过的 1.1 Jmeter的基本介绍 官网:https://jmeter.apache.org/ Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。...