【问题标题】:Setting a docker container name using container optimized OS on GCP使用 GCP 上的容器优化操作系统设置 docker 容器名称
【发布时间】:2019-11-19 23:23:21
【问题描述】:

我有一个在谷歌云平台上运行的 docker 镜像,使用容器优化操作系统并设置了部署容器镜像选项。

容器映像在启动时运行,但是我想知道是否可以让映像以设置的容器名称开始,通常使用以下方式完成:

Docker 运行 -d -p 8080:80 --name myapp

我想这样做,所以如果我有一个启动脚本,它可以在 VM 重新启动时使用设置名称:

docker exec -it [container_name] bash

我尝试在高级设置选项中设置 --name my app 命令、命令参数和环境变量,但每次它没有设置 docker 容器名称时,我不确定这是否可行,任何建议都会有所帮助。

【问题讨论】:

  • 所以看起来当运行 Container-Optimized OS 时确实为您的 VM 提供了一个默认的静态映像名称,对我来说,我的是 klt-website-zhmg,因为我的 vm 被称为网站。我不确定你是否真的可以改变它。

标签: docker google-cloud-platform


【解决方案1】:

您将无法修改它以按照命令 Docker run -d -p 8080:80 --name myapp 的建议设置特定名称,原因是当您启用该功能时部署容器映像创建容器由 Google 管理,除了要使用的图像外,您没有进行任何配置。

在我的情况下,创建容器的命令甚至没有记录在串行控制台日志中:

konlet-startup[401]: 2019/11/19 15:16:43 Starting Konlet container startup agent
konlet-startup[401]: 2019/11/19 15:16:44 Downloading credentials for default VM service account from metadata server
konlet-startup[401]: 2019/11/19 15:16:44 Updating IPtables firewall rules - allowing tcp traffic on all ports
konlet-startup[401]: 2019/11/19 15:16:44 Updating IPtables firewall rules - allowing udp traffic on all ports
konlet-startup[401]: 2019/11/19 15:16:44 Updating IPtables firewall rules - allowing icmp traffic on all ports
konlet-startup[401]: 2019/11/19 15:16:44 Launching user container 'gcr.io/google-containers/busybox'
konlet-startup[401]: 2019/11/19 15:16:44 Configured container 'instance-3' will be started with name 'klt-instance-3-uwtu'.
konlet-startup[401]: 2019/11/19 15:16:44 Pulling image: 'gcr.io/google-containers/busybox'
konlet-startup[401]: 2019/11/19 15:16:44 Received ImagePull response: ({"status":"Pulling from google-containers/busybox","id":"latest"}
konlet-startup[401]: {"status":"Already exists","progressDetail":{},"id":"a3ed95caeb02"}
konlet-startup[401]: {"status":"Already exists","progressDetail":{},"id":"a3ed95caeb02"}
konlet-startup[401]: {"status":"Already exists","progressDetail":{},"id":"138cfc514ce4"}
konlet-startup[401]: {"status":"Already exists","progressDetail":{},"id":"a3ed95caeb02"}
konlet-startup[401]: {"status":"Digest: sha256:d8d3bc2c183ed2f9f10e7258f84971202325ee6011ba137112e01e30f206de67"}
konlet-startup[401]: {"status":"Status: Image is up to date for gcr.io/google-containers/busybox:latest"}
konlet-startup[401]: ).
konlet-startup[401]: 2019/11/19 15:16:44 Removing a container created by a previous run of Konlet: '/klt-instance-3-uwtu
konlet-startup[401]: 2019/11/19 15:16:45 Found 0 volume mounts in container instance-3 declaration.
konlet-startup[401]: 2019/11/19 15:16:45 Created a container with name 'klt-instance-3-uwtu'

通过我的测试,我能够确认容器的名称将是 2 个随机字符串之间的实例名称 klt-instance-3-uwtu

多次重启实例显示名称始终相同

【讨论】:

    猜你喜欢
    • 2022-08-06
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2021-06-02
    • 2019-09-27
    相关资源
    最近更新 更多