docker 修改容器env配置


  • 场景:修改zabbix数据库密码

  • zabbix容器构成:

    • 数据库:zabbix-mysql
    • server端:zabbix-server-mysql
    • web端:zabbix-web-nginx-mysql
  • 测试后结论:

    • 必须停止docker服务,不然修改容器配置会还原;
    • MySQL数据库的env仅在第一次启动容器生效,之后需要进入容器修改密码OR配置文件;
    • MySQL数据库进入容器只需修改root@%密码,zabbix用户会备zabbxi容器修改;
    • zabbix服务端和网页端只需要修改env配置即可,在docker重启后,会把env变量同步到容器内zabbix的配置文件zabbix-server.conf;
  • 以下为实操步骤,推荐打开两个终端

    • 一个操作;
    • 查看日志:docker logs -f -n 100 zabbix-server-mysql;

1. 停止docker

# docker ps -a 查看容器id
docker ps -a
# 关闭docker
systemctl stop docker

2. 修改容器配置文件

  • config.v2.json 配置
# 配置文件位置:/var/lib/docker/containers/容器ID/config.v2.json
# 容器ID 有点长,所以在容器关闭前记录下容器ID # 修改,确保docker服务关闭!!!
vim config.v2.json # 打开后不是标准json格式,先格式化!
:%!python -m json.tool # 然后找Env键值对修改:
"Env": [
"MYSQL_DATABASE=zabbix",
"MYSQL_USER=zabbix",
"MYSQL_PASSWORD=dxzq711", ==》 这个密码会自动修改
"MYSQL_ROOT_PASSWORD=dxzq711", ==》 当zabbix容器拿到root密码,会修改zabbix用户密码
"TZ=Asia/Shanghai",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"GOSU_VERSION=1.12",
"MYSQL_MAJOR=5.7",
"MYSQL_VERSION=5.7.35-1debian10"
], # zabbix-server-mysql 和 zabbix-web-nginx-mysql 对应修改上面两个密码
  • zabbix-mysql 数据库密码修改
# 进入数据库容器
docker exec -it zabbix-mysql bash # 用原密码登录MySQL
mysql -uroot -p # 修改密码,只需修改root即可
mysql -u root -p
set password for 'root'@'%' = password('dxzq711');
set password for 'root'@'localhost' = password('dxzq711'); flush privileges;

3. 重启docker

systemctl start docker

docker 修改容器env配置的更多相关文章

  1. Docker修改容器中的时间

    Docker修改容器中的时间 前言 在公司开发时使用 Docker 创建数据库(SQL Server)的实例十分方便,还原数据库也只要设置好共享文件夹,在 SQL Server Management ...

  2. docker修改容器gogs时区时间

    问题描述: 公司内部搭建了一个gogs-git,是用docker部署的,但是发现提交的代码什么的时间跟服务器时间不一致 提交上去的世界是UTC时间不是中国的时间CST,相当于慢了8个小时 1.dock ...

  3. 【Docker】-NO.132.Docker.1 -【Docker 修改容器端口】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  4. docker 修改容器配置文件

    启动docker镜像命令docker run 可以指定端口映射,但是容器一旦创建就无法在通过命令修改.通常是保存镜像在创建一个新的容器.有没有办法不保存镜像直接修改这个容器呢?答案是有的,本文已mys ...

  5. Docker 修改容器内的时区

    利用docker发布服务,发现 程序用获取的系统时间比正常时间晚了8个小时 进入容器 docker exec -it /bin/sh 查询时间 date -R 发现时区为0时区 解决思路 1.复制相应 ...

  6. docker修改容器参数

    docker update -m 500m --memory-swap - f669487f0804

  7. docker修改容器信息,打包等

    https://blog.csdn.net/x6_9x/article/details/72891404

  8. docker,容器,编排,和基于容器的系统设计模式

    目录 从容器说起 背景 docker实现原理 编排之争 基于容器的分布式系统设计之道 单节点协作模式 Sidecar pattern(边车模式) Ambassador pattern(外交官模式) A ...

  9. 怎么修改无法启动的docker容器的配置?

    原因: 由于错误的配置导致原来可以启动的docker容器不能启动了.相信很多人的做法是删除容器重建一个,这样也是可以的,但是你的配置和插件就得重新安装,非常麻烦.最小的代价当然是修改原来的配置让他能启 ...

随机推荐

  1. MyBatis 3学习笔记

    MyBatis 3 一.MyBatis简介 优秀的持久层框架,支持支持自定义 SQL.存储过程以及高级映射,专注于SQL的编写. ​ 为什么不使用工具类进行数据库操作: ​ 功能简单,sql语句编写在 ...

  2. CF938A Word Correction 题解

    Content 有一个长度为 \(n\) 的,只包含小写字母的字符串,只要有两个元音字母相邻,就得删除后一个元音字母(\(\texttt{a,e,i,o,u,y}\) 中的一个),请求出最后得到的字符 ...

  3. java 常用类库:String ; StringBuilder和StringBuffer类

    1. String 1.String对象是不可变的 String类的value属性是用来存放字符串里面的值的.这个属性是被final修饰的.final修饰的变量不能够被第二次赋值,所以字符串是不可变的 ...

  4. Sharepoint 恢复列表文件

    当在Sharepoint中恢复列表字段,列表数据时,恢复的是stp文件,可按照如下步骤恢复: 1.打开http://liuqiang17-1/sites/flsharepoint/_catalogs/ ...

  5. JAVA获取六位随机数

    public static String getSixNum() { String str = "0123456789"; StringBuilder sb = new Strin ...

  6. This request has been blocked; the content must be served over HTTPS.处理方案

    在页面head标签中加入 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure- ...

  7. JAVA携带参数(带有请求参数,请求头参数)直接发送POST请求

    <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcl ...

  8. App调试的几个命令实践

    1.logcat命令这个命令最简单常用,可查看帮助 第一种事例:adb logcat > /sdcard/mylogcat.txt 第二种事例:adb logcat > D:/Temp/1 ...

  9. c++11之函数参数包展开

    1.关于 本文略带总结性,参考:泛化之美--C++11可变模版参数的妙用 参数包展开方式有两种: 递归展开 和 逗号表达式展开. 本文代码并非全部来自参考文章,自己做了注释和修改.请以原文为准 2. ...

  10. 【LeetCode】121. Best Time to Buy and Sell Stock 解题报告(Java & Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Java解法 Python解法 C++ 解法 日期 ...