run - docker store
Docker Compose no permite utilizar imágenes locales (3)
El siguiente comando falla, intentando extraer la imagen del Docker Hub:
$ docker-compose up -d
Pulling web-server (web-server:staging)...
ERROR: repository web-server not found: does not exist or no pull access
Pero solo quiero usar una versión local de la imagen, que existe:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
web-server staging b94573990687 7 hours ago 365MB
¿Por qué Docker no busca entre las imágenes almacenadas localmente?
Este es mi archivo Docker Compose:
version: ''3''
services:
chat-server:
image: chat-server:staging
ports:
- "8110:8110"
web-server:
image: web-server:staging
ports:
- "80:80"
- "443:443"
- "8009:8009"
- "8443:8443"
y mi archivo .env:
DOCKER_HOST=tcp://***.***.**.**:2376
DOCKER_TLS_VERIFY=true
DOCKER_CERT_PATH=/Users/Victor/Documents/Development/projects/.../target/docker
En general, esto debería funcionar como usted lo describe. Intenté reproducirlo, pero simplemente funcionó ...
Estructura de la carpeta:
.
├── docker-compose.yml
└── Dockerfile
Contenido de Dockerfile:
FROM alpine
CMD ["echo", "i am groot"]
Crear y etiquetar imagen:
docker build -t groot .
docker tag groot:latest groot:staging
con docker-compose.yml:
version: ''3.1''
services:
groot:
image: groot:staging
y comience la ventana acoplable-componer:
$ docker-compose up
Creating groot_groot ...
Creating groot_groot_1 ... done
Attaching to groot_groot_1
groot_1 | i am groot
groot_groot_1 exited with code 0
En su docker-compose.yml, puede especificar build: .
en lugar de build: <username>/repo>
para compilaciones locales (en lugar de extraerlas de docker-hub) - No puedo verificar esto todavía, pero creo que puede hacer rutas relativas para múltiples servicios a la ventana acoplable-componer expediente.
services:
app:
build: .
Referencia: https://github.com/gvilarino/docker-workshop
Es posible que necesite cambiar su etiqueta de imagen para tener dos partes separadas por una barra inclinada /
. Así que en lugar de
chat-server:staging
hacer algo como:
victor-dombrovsky/chat-server:staging
Creo que hay algo de lógica detrás de las etiquetas Docker y las etiquetas de "una parte" se interpretan como imágenes oficiales provenientes de DockerHub.