要使用 Docker Compose 只构建其中一个特定服务的镜像,你可以使用以下命令:
docker-compose build <service_name>
其中 <service_name>
是你想要构建的服务名称,这个名称应该与你的 docker-compose.yml 文件中定义的服务名称相匹配[3]。
例如,如果你想构建名为 “webapp” 的服务镜像,可以运行:
docker-compose build webapp
这个命令会只构建 “webapp” 服务的镜像,而不会影响其他服务。
如果你想确保构建过程不使用缓存,强制重新构建镜像,可以添加 --no-cache
选项[2]:
docker-compose build --no-cache <service_name>
此外,如果你想在构建完成后立即启动该服务,可以使用 up
命令结合 --build
选项[4]:
docker-compose up --detach --build <service_name>
这个命令会重新构建指定服务的镜像,然后在后台启动该服务。
请注意,使用这些命令时,确保你在包含 docker-compose.yml 文件的目录中执行,或者使用 -f
选项指定 compose 文件的路径。
Citations:
[1] https://docs.docker.com/compose/compose-file/build/
[2] https://www.cnblogs.com/zhanchenjin/p/17479059.html
[3] https://docs.docker.com/reference/cli/docker/compose/build/
[4] https://blog.51cto.com/u_11101184/3134890
[5] https://zenn.dev/yasuhiron/articles/rebuild-a-specific-container-in-docker-compose