Docker 應用: 再以建置好container狀況下 如何透過json設定檔設定 在修改 Working Directory 和 Restart Policy 設定

 


大家好!今天我們來聊聊如何透過修改Docker 容器的設定文件,設定Working Directory(工作目錄)和Restart Policy(重啟策略)。這種方法雖然有點“黑科技”,但掌握後會讓你在Docker 的使用上更加得心應手。準備好了嗎?讓我們開始吧!

步驟一:準備工作

首先,我們需要確保已經有一個運作中的Docker 容器。假設我們有一個名為baai_m3的容器,它是透過以下命令建立的:

巴什
docker run --gpus all -it -p 8006:8006 --name baai_m3 -v $(pwd):/baai_m3 nvidia/cuda:12.1.0-devel-ubuntu22.04 /bin/bash

現在,我們要透過設定檔設定它的工作目錄和重新啟動策略。

步驟二:停止容器

在進行設定檔修改之前,必須先停止容器:

巴什
docker stop baai_m3

步驟三:修改config.v2.json 文件

  1. 找到容器的ID:

    巴什
    docker inspect --format="{{.Id}}" baai_m3

    假設我們得到了一個類似abc123def456的容器ID。

  2. 開啟config.v2.json文件:

    巴什
    sudo nano /var/lib/docker/containers/abc123def456/config.v2.json
  3. 找到或新增"WorkingDir"設定:

    json
    { ... "Path": "/bin/bash", "Args": [], "WorkingDir": "/baai_m3", ... }

    確保你在文件中添加了"WorkingDir": "/baai_m3"

步驟四:修改hostconfig.json 文件

  1. 開啟hostconfig.json文件:

    巴什
    sudo nano /var/lib/docker/containers/abc123def456/hostconfig.json
  2. 新增或修改"RestartPolicy"設定:

    json
    { ... "RestartPolicy": { "Name": "always", "MaximumRetryCount": 0 }, ... }

步驟五:重啟Docker 服務

設定檔修改完成後,重新啟動Docker 服務使變更生效:

巴什
sudo systemctl restart docker

步驟六:重啟容器

最後,重新啟動容器:

巴什
docker start baai_m3

總結

透過上述步驟,我們成功地透過設定檔設定了Docker 容器的工作目錄和重新啟動策略。這種方法雖然需要手動修改設定文件,但掌握後可以讓你更靈活地管理容器。

希望這篇文章對你有幫助!下次見!

留言

這個網誌中的熱門文章

windows server 「虛擬化型保護的程式碼完整性」(Virtualization Based Protection of Code Integrity,VBS) 功能說明與設定

linux server - 檢查nvidia driver 異常並自動重新開機