2016-08-16 21 views
59

Bạn có thể đặt tên hình ảnh khi xây dựng một hình ảnh tùy chỉnh, như thế này:Làm cách nào để đặt tên hình ảnh trong Dockerfile?

docker build -t dude/man:v2 . # Will be named dude/man:v2 

Có cách nào để xác định tên của hình ảnh trong Dockerfile, vì vậy tôi không cần phải đề cập đến nó trong lệnh docker build ?

Trả lời

65

Gắn thẻ hình ảnh không được hỗ trợ bên trong Dockerfile. Điều này cần được thực hiện trong lệnh xây dựng của bạn. Để giải quyết vấn đề này, bạn có thể thực hiện việc xây dựng bằng một docker-compose.yml xác định tên hình ảnh đích và sau đó chạy một docker-compose build. Một mẫu Docker-compose.yml sẽ trông như thế

version: '2' 

services: 
    man: 
    build: . 
    image: dude/man:v2 
66

Làm thế nào để xây dựng một hình ảnh với tên tùy chỉnh mà không cần sử dụng tập tin yml:

docker build -t image_name . 

Làm thế nào để chạy một container với tên tùy chỉnh:

docker run -d --name container_name image_name 
+15

Tôi sẽ không bình luận thêm nhưng câu hỏi là "Làm thế nào để đặt tên hình ảnh trong Dockerfile?" Không phải "Cách đặt tên hình ảnh docker?" Câu trả lời đó nằm trong câu hỏi. – Novaterata

+11

Tôi đã quay lại điều này một vài lần và câu trả lời này đã giúp, mặc dù chủ đề không chính xác về mặt kỹ thuật – gdbj

1

Dưới đây là một phiên bản khác nếu bạn phải tham chiếu đến một tệp docker cụ thể:

version: "3" 
services: 
    nginx: 
    container_name: nginx 
    build: 
     context: ../.. 
     dockerfile: ./docker/nginx/Dockerfile 
    image: my_nginx:latest 

Sau đó, bạn chỉ cần chạy

docker-compose up --build 
Các vấn đề liên quan