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. 【科普】.NET6 泛型

    本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (gith ...

  2. mongodb 连接方式之mongo-shell

    单机连接:mongo 120.131.0.64:27017 -u root -p KingSoft@1314 --authenticationDatabase admin 字符串连接 python i ...

  3. cmake引入第三方库的debug和release版本之Windows版本

    概述 本文将介绍cmak引入第三方库debug和release不同配置. Windows上,习惯将debug模式下生成的动态库名后缀添加D 以作和release区分.cmake创建一个项目A,A引入动 ...

  4. 网络编程之新函数inet_pton和inet_ntop

    1.头文件 1 #include <arpe/inet.h> 2.inet_pton 函数 A.原型 1 int inet_pton(int family, const char *str ...

  5. Visiual Studio之c++项目瘦身(删除中间项)

    欢迎指正 本文主要涉及 Visiual Studio(简称VS) 创建的c++项目 和 windows下批处理相关点. 1.中间项 A.VS创建的c++项目,生成后,会有许多中间项,包括项目生成的中间 ...

  6. 【LeetCode】163. Missing Ranges 解题报告 (C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 遍历 日期 题目地址:https://leetcode ...

  7. 【LeetCode】264. Ugly Number II 解题报告(Java & Python)

    标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ https://leetcode.com/prob ...

  8. 【LeetCode】754. Reach a Number 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 数学 日期 题目地址:https://leetcod ...

  9. 圆桌问题(hdu4841)

    圆桌问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submi ...

  10. JWT和OAuth2

    JWT是一种认证协议        JWT提供了一种用于发布接入令牌(Access Token),并对发布的签名接入令牌进行验证的方法.令牌(Token)本身包含了一系列声明,应用程序可以根据这些声明 ...