Has*_*tin 3 docker dockerfile docker-compose devops
我有这样的结构:
在我的 Makefile 中,我构建了 dockerfile:
sudo docker build --build-arg PHP_VERSION=7.4 -t kaiza/image-php74 - < dockerfile/Dockerfile.php
Run Code Online (Sandbox Code Playgroud)
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
...
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时
docker-compose -f docker-compose/php/docker-compose.php74.yml up --build -d
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
“kaiza/image-php74 的拉取访问被拒绝,存储库不存在或可能需要‘docker 登录’:被拒绝:请求的资源访问被拒绝”
任何人都知道如何在不通过注册表解决方案的情况下解决这个问题(以将所有内容保留在本地)?
谢谢。
Chr*_*cke 10
docker-compose 可以用作构建 Dockerfile 的工作流程的一部分。
安排此操作的一个好方法是在根目录中放置一个 docker-compose.yml,然后为每个服务创建一个子文件夹。
compose.yml
services:
php7.4:
image: kaiza/image-php74:latest
build:
context: php74
args:
PHP_VERSION: ${VERSION-7.3}
Run Code Online (Sandbox Code Playgroud)
假设从 docker-compose 到 php74 Dockerfile 的相对路径是 php74/Dockerfile 那么:
docker-compose build php7.4将构建并将图像标记为 kaiza/image-php74,并且docker-compose up或docker-compose run php7.4将构建图像(如果需要),或者使用本地构建的图像(如果可用)。
构建部分的完整参考可在github上找到
| 归档时间: |
|
| 查看次数: |
12817 次 |
| 最近记录: |