docker - 使用 docker compose 标记图像/容器
问题描述
我正在尝试使用 docker compose 构建图像/容器。容器成功构建/运行,但图像REPOSITORY
和TAG
两者都显示<none>
在输出中,docker images
并且容器获得自动生成的名称(例如eloquent_wiles
)。我希望它用我的配置文件中指定的名称来标记图像/容器(在这种情况下,我希望它们被命名为“myservice”并且图像被标记为“v2”)。
我有以下内容docker-compose.yml
:
version: '3'
services:
myservice:
build: .
image: myservice:v2
container_name: myservice
ports:
- "1337:1337"
这是我的Dockerfile
:
FROM node:10
WORKDIR /usr/src/myservice
COPY . /usr/src/myservice
EXPOSE 1337/tcp
RUN yarn \
&& yarn transpile \
&& node ./build/grpc-server.js
docker -v
给Docker version 18.09.2, build 6247962
docker-compose -v
给docker-compose version 1.22.0, build f46880fe
我正在跑步docker-compose build
。我使用 docker-compose 版本 2 得到了相同的结果。
我想没有人能发现我做错了什么?
解决方案
- 构建命名镜像:
docker build -t <repo>:<tag> .
在 Dockerfile 所在的目录中。 - 部署命名服务:
docker stack deploy -c <your_yaml_file> <your_stack> --with-registry-auth
在您的 YAML 所在的目录中。
推荐阅读
- java - 将片段作为参数传递给 RecyclerView.Adapter 是不好的做法吗?帮助 onClick
- tensorflow - Tensorflow 2.1 无法获得卷积算法。这可能是因为 cuDNN 未能初始化
- swiftui - 更改模拟器会改变点击手势后启动 safari 的神秘行为
- macos - 计划的终端命令或脚本文件每天在特定时间运行 Mac OS X 获取属性错误
- sql - 如何在 PostgreSQL 中只指定一次多列的数据类型?
- javascript - 如果表单字段值为空白,我想将其从生成的报告中隐藏(如果它留空)
- javascript - Vuex getter JSON.stringify 不是反应式的
- php - 如何在请求的整个生命周期中保留请求数据 Laravel Lumen?
- c++ - 将 OpenCV 链接到 Qt Creator
- sql-server - .NET Core AWS VPC Lambda 能否使用 Windows 身份验证连接到本地 SQL Server?