我正在尝试构建一个带有docker compose的镜像/容器。容器成功构建/运行,但是镜像REPOSITORY和TAG在docker images的输出中都显示为<none>,并且容器获得一个自动生成的名称(例如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.jsdocker -v给了Docker version 18.09.2, build 6247962
docker-compose -v给了docker-compose version 1.22.0, build f46880fe
我正在运行docker-compose build。我使用docker-compose version2得到了相同的结果。
我想没人能发现我做错了什么吧?
发布于 2019-04-08 23:25:56
docker build -t <repo>:<tag> .。docker stack deploy -c <your_yaml_file> <your_stack> --with-registry-auth。发布于 2019-04-09 02:32:15
我太傻了。问题出在Dockerfile的最后一行,您可以看到我将服务器作为构建过程的一部分启动,而不是作为入口点,从而阻止构建到达标记图像的步骤。感谢@Mihai指出,<none>:<none>镜像是一个中间版本,而不是我构建的结果。
https://stackoverflow.com/questions/55576713
复制相似问题