Você pode definir o nome da imagem ao criar uma imagem personalizada, assim:
docker build -t dude/man:v2 . # Will be named dude/man:v2
Existe uma maneira de definir o nome da imagem no Dockerfile, para que eu não precise mencioná-lo no docker build
comando?
docker
tags
dockerfile
gvlasov
fonte
fonte
Respostas:
A marcação da imagem não é suportada dentro do Dockerfile. Isso precisa ser feito no seu comando de construção. Como solução alternativa, você pode fazer a construção com um docker-compose.yml que identifique o nome da imagem de destino e, em seguida, execute a
docker-compose build
. Uma amostra docker-compose.yml seria semelhante aDito isto, há um esforço contra fazer a compilação com composição, pois isso não funciona com implantações no modo enxame. Então, você voltou a executar o comando conforme indicado em sua pergunta:
Pessoalmente, costumo construir com um pequeno script de shell na minha pasta (build.sh) que passa qualquer argumento e inclui o nome da imagem para salvar a digitação. E para produção, a compilação é manipulada por um servidor ci / cd que possui o nome da imagem dentro do script de pipeline.
fonte
Como criar uma imagem com nome personalizado sem usar o arquivo yml:
Como executar um contêiner com nome personalizado:
fonte
Dockerfile
diretório em um diretório com o mesmo nome que deseja para sua imagem, poderá usardocker build -t $(basename $PWD) .
como seu comando de construção. Em seguida, você pode usar a pesquisa CTRL-R em "build" para localizar e reutilizar o comando e nunca precisar editá-lo. Você também pode criar um alias, se quiser.Aqui está outra versão se você precisar fazer referência a um arquivo docker específico:
Então você apenas corre
fonte
Você pode fazer isso usando 'AS' FROM ubuntu: 16.04 AS FooImage
fonte
AS
sintaxe especifica o nome do destino usado em uma construção de vários estágios, e esse nome também pode ser usado no lugar de uma imagem para aCOPY --from
sintaxe nessa construção de vários estágios. No entanto, ele não especifica o nome / tag resultante para a compilação em si.