[英]How to obtain hostname and rename docker container on that?
我的后端服务有一个 docker-compose 文件,如下所示。
backend:
container_name: backend
build:
context: .
dockerfile: docker/dev.Dockerfile
# TODO: Try using cache_from pointed at a Docker Hub image built from master
# Though may need to also use the workaround for local vs remote:
# https://github.com/moby/moby/issues/32612#issuecomment-294055017
# cache_from: TODO
image: treeherder-backend
privileged: true
environment:
# Development/CI-specific environment variables only.
# Those that do not vary across environments should go in `Dockerfile`.
- BROKER_URL=amqp://guest:guest@rabbitmq//
- DATABASE_URL=${DATABASE_URL:-mysql://root@mysql/treeherder}
- GITHUB_TOKEN=${GITHUB_TOKEN:-}
- UPSTREAM_DATABASE_URL=${UPSTREAM_DATABASE_URL:-}
- PERF_SHERIFF_BOT_CLIENT_ID=${PERF_SHERIFF_BOT_CLIENT_ID:-}
- PERF_SHERIFF_BOT_ACCESS_TOKEN=${PERF_SHERIFF_BOT_ACCESS_TOKEN:-}
- PULSE_AUTO_DELETE_QUEUES=True
- REDIS_URL=redis://redis:6379
- SITE_URL=http://backend:8000/
- TREEHERDER_DEBUG=True
- NEW_RELIC_INSIGHTS_API_KEY=${NEW_RELIC_INSIGHTS_API_KEY:-}
- HOSTNAME=${HOSTNAME:-}
entrypoint: './docker/entrypoint.sh'
# We *ONLY* initialize the data when we're running the backend
command: './initialize_data.sh ./manage.py runserver 0.0.0.0:8000'
# Django's runserver doesn't listen to the default of SIGTERM, so docker-compose
# must send SIGINT instead to avoid waiting 10 seconds for the time out.
stop_signal: SIGINT
# https://github.com/SeleniumHQ/docker-selenium#running-the-images
shm_size: 2g
volumes:
- .:/app
ports:
- '8000:8000'
depends_on:
- mysql
- redis
- rabbitmq
stdin_open: true
tty: true
我想通过选取它运行的主机名来动态命名这个容器,并在该值上重命名自己。 请让我知道是否有任何方法可以做到这一点
容器的当前主机名 - docker 的随机字符串
容器的所需主机名 - 将在其上运行的主机系统的 $(whoami)-$(hostname)
您可以在运行容器时为其命名(您没有指定如何运行容器,所以我假设您使用docker run
)。
这是通过以下方式实现的: docker run -d --name YOUR_NAME YOUR_IMAGE
这样,您可以将YOUR_NAME
作为包含所需字段的变量,例如,运行ubuntu:latest
容器:
name=$(whoami)-$(uname -n)
docker run -d --name $name ubuntu:latest
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.