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. 一、Uniapp+vue+腾讯IM+腾讯音视频开发仿微信的IM聊天APP,支持各类消息收发,音视频通话,附vue实现源码(已开源)-项目引言

    项目文章索引 1.项目引言 2.腾讯云后台配置TXIM 3.配置项目并实现IM登录 4.会话好友列表的实现 5.聊天输入框的实现 6.聊天界面容器的实现 7.聊天消息项的实现 8.聊天输入框扩展面板的 ...

  2. 【LeetCode】面试题 16.11. 跳水板 Diving Board (Python)

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

  3. 【LeetCode】1185. Day of the Week 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 计算与1971-1-1之间天数 日期 题目地址:htt ...

  4. 【LeetCode】6. ZigZag Conversion Z 字形变换

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:字形变换,ZigZag,题解,Leetcode, 力扣,P ...

  5. 分布式系统(二)——GFS

    分布式存储系统的难点 在存储系统中,为了获得巨大的性能加成,一个很自然的想法就是采用分片(sharding),将数据分割存储到多台服务器上,这样获得了更大的存储容量,而且可以并行地从多台服务器读取数据 ...

  6. Python调用Prometheus监控数据并计算

    Prometheus是什么 Prometheus是一套开源监控系统和告警为一体,由go语言(golang)开发,是监控+报警+时间序列数 据库的组合.适合监控docker容器.因为kubernetes ...

  7. matplotlib 进阶之Customizing Figure Layouts Using GridSpec and Other Functions

    目录 对Gridspec的一些精细的调整 利用SubplotSpec fig.add_grdispec; gs.subgridspec 一个利用Subplotspec的复杂例子 函数链接 matplo ...

  8. 适用于 Flutter 的 Google 移动广告 SDK 正式版现已发布

    作者 / Zoey Fan,Flutter 产品经理 应用变现有多种方法: 通过实体企业的店面接受付款.提供订阅或应用内购买,或者直接在应用中投放广告.经过六个月的 beta 测试期,我们很高兴能够推 ...

  9. CS5211替代CH7511B|设计DP转LVDS转接板|替代CH7511B

    CH7511B是一款DP转lvds屏转换芯片CH7511B是一款eDP转LVDS转换芯片.CH7511B将嵌入式DisplayPort信号转换为LVDS(低压差分信号).通过CH7511B的高级解码/ ...

  10. vue中使用JSX报错,如何解决

    Support for the experimental syntax 'jsx' isn't currently enabled (32:12): 30 | }, 31 | render() { & ...