【发布时间】:2021-01-04 09:22:43
【问题描述】:
我有这样的结构:
在我的 Makefile 中,我构建了 dockerfile:
sudo docker build --build-arg PHP_VERSION=7.4 -t kaiza/image-php74 - < dockerfile/Dockerfile.php
并且 kaiza/image-php74 在本地创建得很好,如果我这样做 docker images,我会得到:
然后,在我的 docker-compose.php74.yml 中:
version: '2.4'
services:
php7.4:
image: "kaiza/image-php74"
container_name: "kz-php74"
hostname: "kz-php74"
user: 1000:1000
...
但是,当我运行它时
docker-compose -f docker-compose/php/docker-compose.php74.yml up --build -d
我收到此错误:
“对 kaiza/image-php74 的拉取访问被拒绝,存储库不存在或可能需要 'docker login':拒绝:请求的资源访问被拒绝”
任何人知道如何在不通过 registry 解决方案的情况下解决这个问题(将所有内容都保留在本地)?
谢谢。
【问题讨论】:
-
您需要在本地构建
kaiza/image-php74。 Docker 总是检查它是否已经在本地拥有它,如果没有则尝试拉取它。 Docker-Compose 不构建镜像,它只是使用它们! -
什么是
kaiza/image-php74?它在公共 docker hub 上不存在。如果它不在私有存储库中,它应该存在于本地。镜像是在本地构建的吗?请使用以下命令进行检查。docker images | grep kaiza/image-php74 -
@Deitsch 我像这样构建它:
sudo docker build --build-arg PHP_VERSION=7.4 -t kaiza/image-php74 - < dockerfile/Dockerfile.php -
@myeongkilkim 我得到一个结果:
kaiza/image-php74 latest 37f36003df04 15 hours ago 258MB
标签: docker docker-compose dockerfile devops