動態修改docker容器環境變量


背景: 運行一個容器 發現缺少了環境變量 又不想去重新run一個容器 這樣的場景可以通過修改文件的方式實現

示例:

1.運行一個centos鏡像

[root@localhost ~]# docker run -it -d --name centos centos
37c852b70138b2800ec2063e0e8b88f731cb84dc3dfe44274e5baf31f2e5578d
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
37c852b70138        centos              "/bin/bash"         3 seconds ago       Up 2 seconds                            centos

運行docker inspect centos命令去查看有哪些環境變量,會找到這樣的一個配置,這個就是容器運行時的環境變量,現在我們去修改這個環境變量
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],

2.停止docker服務

systemctl stop docker

3.修改配置文件

找到容器的配置文件/var/lib/docker/containers/容器id/config.v2.json,
找到"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"]
把需要添加的環境變量添加上去,"Env":["TZ=Asia/Shanghai","PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"]
這里我添加了個"TZ=Asia/Shanghai"環境變量 如果需要添加多個環境變量,以逗號隔開就行

4.啟動docker服務

systemctl start docker

5.啟動容器

docker start centos

6.查看環境變量是否修改成功

docker inspect centos

"Env": [
                "TZ=Asia/Shanghai",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],

命令會有以上這樣的輸出,表示我們已經把環境變量修改完成了!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM