所以我正在看的是一個docker run命令被用于創建一個用于打開遙測的 docker 容器,該容器傳遞一個配置命令,代碼看起來像......
$ git clone [email protected]:open-telemetry/opentelemetry-collector.git; \
cd opentelemetry-collector/examples; \
go build main.go; ./main & pid1="$!";
docker run --rm -p 13133:13133 -p 14250:14250 -p 14268:14268 \
-p 55678-55679:55678-55679 -p 4317:4317 -p 8888:8888 -p 9411:9411 \
-v "${PWD}/local/otel-config.yaml":/otel-local-config.yaml \
--name otelcol otel/opentelemetry-collector \
--config otel-local-config.yaml; \
kill $pid1; docker stop otelcol
(https://opentelemetry.io/docs/collector/getting-started/#docker)
我不明白非 docker相關的組態檔(打開遙測配置)如何適合“ docker run --config ”或“ docker compose config ”命令。以下是似乎與 docker 無關的打開遙測組態檔
extensions:
memory_ballast:
size_mib: 512
zpages:
endpoint: 0.0.0.0:55679
receivers:
otlp:
protocols:
grpc:
http:
processors:
batch:
memory_limiter:
# 75% of maximum memory up to 4G
limit_mib: 1536
# 25% of limit up to 2G
spike_limit_mib: 512
check_interval: 5s
exporters:
logging:
logLevel: debug
service:
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [logging]
metrics:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [logging]
extensions: [memory_ballast, zpages]
https://github.com/open-telemetry/opentelemetry-collector/blob/main/examples/local/otel-config.yaml
現在我查看了這些Docker鏈接
https://docs.docker.com/engine/swarm/configs/#how-docker-manages-configs
https://nickjanetakis.com/blog/docker-tip-43-using-the-docker-compose-config-command
但我不知道如何讓docker run --config命令在打開的遙測示例中開始在 docker compose 中使用docker compose config作業。這是我的碼頭工人撰寫
version: "3.9"
services:
opentelemetry:
container_name: otel
image: otel/opentelemetry-collector:latest
volumes:
- ~/source/repos/CritterTrackerProject/DockerServices/OpenTelemetry/otel-collector-config.yml:/otel-local-config.yml
config:
- otel-local-config.yml
ports:
- 13133:13133
- 14250:14250
- 14268:14268
- 55678-55679:55678-55679
- 4317:4317
- 8888:8888
- 9411:9411
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- my-network
jaeger:
# restart: unless-stopped
container_name: jaeger
image: jaegertracing/all-in-one:latest
ports:
- 16686:16686
# - 14250:14250
# - 14268:14268
# - 5775:5775/udp
- 6831:6831/udp
# - 6832:6832/udp
# - 5778:5778
# - 9411:9411
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- my-network
postgres:
restart: always
container_name: postgres
image: postgres:latest
environment:
- POSTGRES_USER=code
- POSTGRES_PASSWORD=code
ports:
- 5432:5432
volumes:
- postgres:/var/lib/postgresql/data
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- my-network
nginx:
restart: always
container_name: webserver
image: nginx:latest
build:
context: ~/source/repos/CritterTrackerProject
dockerfile: DockerServices/Nginx/Dockerfile
ports:
- 80:80
- 443:443
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- my-network
volumes:
postgres:
networks:
my-network:
external: true
name: my-network
這是我在 Git Bash 終端中運行docker compose up后的錯誤
$ docker compose -f ./DockerServices/docker-compose.yml up -d
services.opentelemetry Additional property config is not allowed
uj5u.com熱心網友回復:
的一般形式docker run是
docker run [docker options] image [command]
如果您查看原始命令,它與此模式匹配
docker run \
--rm -p ... -v ... --name ... \ # Docker options
otel/opentelemetry-collector \ # Image
--config otel-local-config.yaml # Command
所以看起來像一個--config選項實際上是容器設定的命令部分;它覆寫 Dockerfile CMD,并作為附加引數傳遞給影像的ENTRYPOINT.
那么,在 Compose 設定中,這將是容器的command:.
services:
opentelemetry:
image: otel/opentelemetry-collector:latest
command: --config otel-local-config.yaml
由于這是一個特定于應用程式的命令字串,因此它與命令無關,該docker-compose config命令是一個診斷工具,只是轉儲您的 Compose 配置的一部分。
uj5u.com熱心網友回復:
您在 docker run 命令中所做的是以下安裝:
本地主機上的 ${PWD}/local/otel-config.yaml 到 docker 內部的 /otel-local-config.yaml
您可以使用docker compose中的volumes選項實作相同的行為:
卷:
- "${PWD}/local/otel-config.yaml":/otel-local-config.yaml
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/428778.html
標籤:码头工人 asp.net 核心 码头工人撰写 耶格 开放遥测
