Docker 启动容器后修改容器中的环境变量env

该文详细介绍了如何使用Docker命令行工具来获取Docker根目录,查找并停止容器,以及编辑容器的配置文件。具体步骤包括使用dockerinfo查看Docker配置,dockerps和dockerinspect获取容器ID,然后对指定容器进行操作,最后通过systemctl命令更新和重启Docker服务。

1.docker info,查看Docker Root Dir: /var/lib/docker

2.docker ps ,找到容器名,再docker inspect [容器名], 获取容器的长id:container-id

3.docker stop [容器名]

4.vim /apps/docker/containers/[container-id]/config.v2.json
或者,vim /apps/docker/containers/[container-id]/config.json

5.systemctl daemon-reload

6.systemctl restart docker
————————————————
版权声明:本文为优快云博主「站在风口的攻城狮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/shujujiegou_lixin/article/details/121521332

Docker 容器启动后,无法直接通过标准方式(如 `docker run` 的 `--env` 参数)为运行中的容器添加修改环境变量。然而,可以通过以下几种方式实现对运行中容器环境变量进行设置更新: ### 通过 `docker exec` 在运行容器中临时设置环境变量 可以在运行中的容器内使用 `export` 命令临时设置环境变量,例如: ```bash docker exec -it <container_id> bash -c "export MY_VAR=my_value" ``` 这种方式设置的环境变量仅在当前 shell 会话中有效,容器重启后将失效。该方法适用于测试调试用途[^1]。 ### 修改容器启动配置并重新创建容器 Docker 容器一旦启动后,其初始环境变量配置无法更改。如果需要持久化设置环境变量,必须停止并删除原容器,然后使用新的 `--env` 参数重新创建容器。例如: ```bash docker run -d --name new_container --env MY_VAR=my_value image_name ``` 该方式确保环境变量容器启动时即被正确加载,适用于生产环境配置。 ### 使用 `--env-file` 参数通过文件批量设置环境变量 可以将所有环境变量写入一个 `.env` 文件,然后在启动容器时通过 `--env-file` 参数加载: ```bash docker run -d --name my_container --env-file .env image_name ``` 这种方式便于集中管理和复用环境变量配置,适用于多环境部署场景。 ### 使用 Docker Compose 设置环境变量 在使用 Docker Compose 时,可以在 `docker-compose.yml` 文件中指定环境变量,例如: ```yaml services: app: image: my_image environment: - MY_VAR=my_value ``` 该方式支持更复杂的容器编排需求,并允许通过 `docker-compose up` 命令统一管理服务配置[^1]。 ### 验证环境变量是否生效 进入运行中的容器内部,执行以下命令验证环境变量是否已正确设置: ```bash docker exec -it <container_id> printenv ``` 该命令将列出容器内所有已设置的环境变量,可用于确认目标变量是否存在及值是否正确。 ---
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值