Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 3344|Resposta: 1

[Fonte] Mudanças na imagem base do Docker para .NET 8

[Copiar link]
Publicado em 23/12/2023 17:30:10 | | | |
Antes do .NET 8, os containers rodavam como root por padrão, e a partir do .NET 8, todas as nossas imagens de contêineres Linux conterão usuários não root. Você poderá hospedar contêineres .NET com uma única linha de código como usuário não root. Essa mudança em nível de plataforma tornará sua aplicação mais segura e fará do .NET um dos ecossistemas de desenvolvedores mais seguros. Essa é uma mudança pequena, mas tem grande impacto na defesa em profundidade.

Entenda os UIDs e GIDs em contêineres Docker

Por padrão, o processo no contêiner roda com privilégios de usuário root, e esse usuário root é o mesmo usuário root da máquina hospedeira. Isso não parece assustador, porque significa que, uma vez que um processo em um container tem a chance certa, ele pode controlar tudo na máquina hospedeira!

Referência:O login do hiperlink está visível.

Imagem Docker .NET 8

Existem duas mudanças principais na imagem do Docker do .NET 8, conforme segue:

  • O Image cria uma nova conta e grupo de aplicativos, e roda o app com a conta do app por padrão
  • Mudado para a porta 8080, acabou sendo a porta 80, já que a porta 80 é privilegiada, privilégios de raiz são necessários (pelo menos em alguns lugares)


Endereço do código-fonte da imagem Docker .NET:O login do hiperlink está visível.

As dependências são as seguintes:

aspnet:8.0-bookworm-slim -> dotnet/runtime-8.0.0-bookworm-slim-amd64 -> dotnet/runtime-deps-8.0.0-bookworm-slim-amd64 -> amd64/debian:bookworm-slim

dotnet/runtime-deps-8.0.0-bookworm-slim-amd64 é assim:

Como mostrado abaixo:



Use a conta do app para inserir a imagem básica, e o comando é o seguinte:

Produza as variáveis atuais do usuário e do ambiente, conforme mostrado na figura a seguir:



Referência:O login do hiperlink está visível.

Arquivo Dockerfile

Se você precisar empacotar seu projeto em uma imagem Docker, é necessário criar um novo suporte para contêineres .NET 8 Docker, e a configuração padrão do arquivo Dockerfile no ambiente Linux é a seguinte:

Se você definir o fuso horário do sistema no Dockerfile, o seguinte código:

O erro de Permissão Negada pode ocorrer da seguinte forma:

4>F:\itsvse\Dockerfile : erro CTC1014: #21 [final 3/3] EXECUTE LN -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/fuso horário
4>F:\itsvse\Dockerfile : erro CTC1014: #21 0.314 ln: não foi possível criar o link simbólico '/etc/localtime': Permissão negada
4>F:\itsvse\Dockerfile : erro CTC1014: #21 ERRO: o processo "/bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone" não foi concluído com sucesso: código de saída: 1
4>F:\itsvse\Dockerfile : erro CTC1014: ------
4>F:\itsvse\Dockerfile : erro CTC1014: > [3/3 final] RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/fuso horário:
4>F:\itsvse\Dockerfile : erro CTC1014: #21 0.314 ln: não foi possível criar o link simbólico '/etc/localtime': Permissão negada
Use a conta raiz para definir o fuso horário, depois volte para a conta do app e modifique da seguinte forma:

(Fim)





Anterior:.NET/C# para coletar o método ToLookup
Próximo:O PHP recebe todas as informações do cabeçalho
 Senhorio| Publicado em 23/12/2023 17:31:55 |
Duas ferramentas são recomendadas para analisar a camada de imagem Docker
https://www.itsvse.com/thread-10063-1-1.html
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com