docker-compose 构建,如何标记图像

Tuo*_*nen 6 docker docker-compose

我有以下docker-compose文件

version: '3'
services:
        node1:
                build: node1
                container_name: node1

        node2:
                build: node2
                container_name: node2
Run Code Online (Sandbox Code Playgroud)

这是node1的Dockerfile

FROM ubuntu
RUN apt-get update && apt-get install -y iputils-ping
COPY true.sh /var/
CMD ["/var/true.sh"]
Run Code Online (Sandbox Code Playgroud)

node2 Dockerfile 扩展 node1 如下

FROM node1
RUN apt-get update && apt-get install -y iputils-ping
COPY true.sh /var/
CMD ["/var/true.sh"]
Run Code Online (Sandbox Code Playgroud)

现在,当我使用 构建图像时docker-compose up -d --build,最初是空的本地图像存储库,我收到以下错误

ERROR: Service 'node2' failed to build: pull access denied for node1, repository does not exist or may require 'docker login'
Run Code Online (Sandbox Code Playgroud)

使用 compose 构建图像时,如何定义标签?现在,构建了以下图像

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker_node1        latest              52dd5a083162        7 minutes ago       123MB
ubuntu              latest              113a43faa138        19 hours ago        81.2MB
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用 vanilla docker 构建图像,但我喜欢这样的想法,即为新手提供所有必要的配置,以使用单个命令引导新环境,并让相同的命令在对容器进行更改时重新启动已更改的容器建立。

sp0*_*0gg 5

imagebuild服务中存在指令时添加指令将命名和标记构建的图像:

version: '3'
services:
    node1:
            build: node1
            container_name: node1
            image: node1:latest
Run Code Online (Sandbox Code Playgroud)