容器內(nèi)部獲取容器ID

在容器內(nèi)部無法獲取容器名稱時汁讼,如何操作?
當創(chuàng)建容器時,我們可以通過記錄容器名稱與ID到redis中号显。
在容器內(nèi)部,通過 cat /proc/self/cgroup 獲取容器ID躺酒。

應用場景

在容器內(nèi)部押蚤,想要獲取容器名稱,替換容器內(nèi)某些文件內(nèi)的字符串羹应, 代碼如下:


# -*-coding:utf-8-*-
import os
import redis


def alter(file, new_str, old_str="abc_123abc"):
    """
    替換文件中的字符串
    file:文件名
    old_str:就字符串
    new_str:新字符串
    """

    file_data = ""
    with open(file, "r") as f:
        for line in f:
            if old_str in line:
                line = line.replace(old_str, new_str)
            file_data += line
    with open(file, "w") as f:
        f.write(file_data)


def get_container_name():
    db = redis.Redis(host="192.168.0.111", port=6380, decode_responses=False)
   
    # start: in container, run next code  -------------------------------------------------
    cmd = "cat /proc/self/cgroup"
    output = os.popen(cmd)
    rests = output.readlines()
    container_message= rests[-1]
    if not container_message:
        container_id = "abc"
    else:
        container_id =  container_message.strip().split("docker-")[-1][:12]
    # end. ----------------------------------------------------------------------------------

    container_name = None
    if container_id != "abc":
        key_name = "nm_" + container_id
        container_name = db.hget("container_msg", key_name)

    if container_name:
        container_name = container_name.decode("utf-8")

    return container_name


def run():
    nginx_conf = "/etc/nginx/nginx.conf"
    galaxy_yml = "/galaxy-central/config/galaxy.yml"

    container_name = get_container_name()
    if container_name is not None:
        alter(nginx_conf, container_name)
        os.popen("nginx -s reload")
        # os.popen("cp /galaxy-central/config/galaxy.yml.sample /galaxy-central/config/galaxy.yml")
        alter(galaxy_yml, container_name)
        print("Replacement string 'abc_123abc' succeeded")
    else:
        print("Replacement string 'abc_123abc' failed")
        

if __name__ == '__main__':
    run()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末揽碘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子园匹,更是在濱河造成了極大的恐慌雳刺,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件裸违,死亡現(xiàn)場離奇詭異掖桦,居然都是意外死亡,警方通過查閱死者的電腦和手機供汛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門枪汪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人怔昨,你說我怎么就攤上這事雀久。” “怎么了趁舀?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵岸啡,是天一觀的道長。 經(jīng)常有香客問我赫编,道長巡蘸,這世上最難降的妖魔是什么奋隶? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮悦荒,結(jié)果婚禮上唯欣,老公的妹妹穿的比我還像新娘。我一直安慰自己搬味,他們只是感情好境氢,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碰纬,像睡著了一般萍聊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悦析,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天寿桨,我揣著相機與錄音,去河邊找鬼强戴。 笑死亭螟,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的骑歹。 我是一名探鬼主播预烙,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼道媚!你這毒婦竟也來了扁掸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤最域,失蹤者是張志新(化名)和其女友劉穎也糊,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羡宙,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡狸剃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了狗热。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钞馁。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖匿刮,靈堂內(nèi)的尸體忽然破棺而出僧凰,到底是詐尸還是另有隱情,我是刑警寧澤熟丸,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布训措,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏绩鸣。R本人自食惡果不足惜怀大,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望呀闻。 院中可真熱鬧化借,春花似錦、人聲如沸捡多。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽垒手。三九已至蒜焊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間科贬,已是汗流浹背泳梆。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留唆迁,地道東北人鸭丛。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓竞穷,卻偏偏與公主長得像唐责,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子瘾带,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理鼠哥,服務發(fā)現(xiàn),斷路器看政,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • 一朴恳、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,723評論 0 10
  • 人生匆匆而來于颖, 匆匆而過, 情為何物嚷兔, 情在何方森渐? 茍且偷安的人生, 快餐而過的生活冒晰, 情是隨風同衣, 情在桌上, 生...
    多果加閱讀 236評論 0 0
  • 會唱歌的白開水 文/孫海燕 “咕嚕壶运,咕嚹推耄……” 白開水在透明的養(yǎng)生壺里擠著推著,跳著鬧著,歡快地唱著歌埠况。 春來了耸携。...
    雲(yún)水禪心211閱讀 404評論 0 3
  • 圖片發(fā)自簡書App 鄉(xiāng)村路硬化以后违帆,進出 “郭岔大院”的路平坦便利了太多,但一場又一場的大雪覆蓋金蜀,給進出帶來...
    馮建民_3f37閱讀 1,519評論 0 8