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. LuoguP7892 『JROI-3』R.I.P. 题解

    Update \(\texttt{2021.10.11}\) 修改了一处公式错误,麻烦管理重新审核一下这篇已审核通过文章. Content 你在一个无限大的格子平面上,并且有 \(m\) 个长度为 \ ...

  2. java 图形化小工具Abstract Window Toolit 常用组件:对话框Dialog FileDialog

    对话框 Dialog是Window类的子类,是1个容器类,属于特殊组件,对话框是可以独立存在的顶级窗口,因此用法与普通窗口的用法几乎完全一样.但对话框有如下两点需要注意. (1),对话框通常依赖于其他 ...

  3. python 快速启动http监听服务

    python3 [root@vm10-20-9-45 ~]# python3 -m http.server 2378 Serving HTTP on 0.0.0.0 port 2378 (http:/ ...

  4. ss命令用来显示处于活动状态的套接字信息。

    ss命令用来显示处于活动状态的套接字信息.ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比net ...

  5. Hibernate 批量update数据时,怎么样做可以回滚,

    Hibernate 批量update数据时,怎么样做可以回滚, 1.serviceManagerDaoImpl代码里对异常不进行try,catch抛出, 2.或者抛出throw new Runtime ...

  6. 两阶提交、三阶提交、TCC框架

    首先介绍一下分布式事务,分布式事务是指会涉及到操作多个数据库的事务.其实就是将对同一库事务的概念扩大到了对多个库的事务.目的是为了保证分布式系统中的数据一致性.分布式事务处理的关键是必须有一种方法可以 ...

  7. ARTS Week 18

    Algorithm 本周的 LeetCode 题目为 55. 跳跃游戏 给定一个非负整数数组 nums, 你最初位于数组的 第一个下标 .数组中的每个元素代表你在该位置可以跳跃的最大长度.判断你是否能 ...

  8. 【LeetCode】994. Rotting Oranges 解题报告(Python)

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

  9. 【LeetCode】799. Champagne Tower 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 参考资料 日期 题目地址:https:// ...

  10. hdu-1237简单计算器(栈的运用)

    http://acm.hdu.edu.cn/showproblem.php?pid=1237 简单的栈的运用. 首先将数字和运算符分离,分别保存在两个数组中,然后按原来的式子的顺序,首先将第一个数和第 ...