可以運行以下命令
docker run -d --name dd-agent -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e DD_API_KEY=<YOUR_API_KEY> -e DD_SITE="us5.datadoghq.com" gcr.io/datadoghq/agent:7
以下是docker run命令的各個參數的解釋:
-d
: 表示在後台運行容器。--name dd-agent
: 為容器指定一個名稱,本例中為dd-agent
。-v /var/run/docker.sock:/var/run/docker.sock:ro
: 掛載主機上的Docker守護進程的Unix套接字,以便容器可以獲取有關主機上運行的其他容器的信息。ro
表示將套接字文件以只讀方式掛載到容器中。-v /proc/:/host/proc/:ro
: 掛載主機上的/proc
目錄,以便容器可以訪問主機的進程信息。ro
表示將該目錄以只讀方式掛載到容器中。-v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
: 掛載主機上的/sys/fs/cgroup
目錄,以便容器可以訪問主機的cgroup信息。ro
表示將該目錄以只讀方式掛載到容器中。-e DD_API_KEY=
: 設置Datadog API key,這裡留空,需要在運行容器之前將其替換為有效的API key。-e DD_SITE="us5.datadoghq.com"
: 設置Datadog網站,這裡設置為Datadog US5網站。gcr.io/datadoghq/agent:7
: 指定要運行的Docker鏡像。本例中為Datadog Agent鏡像的版本7。
-e是Envirnoment, -v是volume的意思。
總之,這個命令的目的是在Docker中啟動Datadog Agent容器,並將所需的目錄和文件掛載到容器中,以便容器可以訪問主機上的資源和信息,並在容器中設置Datadog API key和網站。
怎樣更新Docker container里的datadog.yaml?
可以在原來的Docker image基礎上新建的一個image。在Dockerfile里加入
COPY datadog.yaml /etc/datadog-agent/datadog.yaml