top of page
mabobeachpeper

91m Bin Sh 1 Apk Not Found



Como corrigir o erro "91m/bin/sh 1 apk não encontrado" ao criar uma imagem do Docker




Se você estiver usando o Docker para criar e executar aplicativos usando contêineres, poderá encontrar um erro como este ao criar uma imagem do Docker:


/bin/sh: 1: apk: não encontrado


Esse erro pode ser frustrante e confuso, especialmente se você for novo no Docker ou no Linux. Neste artigo, explicaremos o que significa esse erro, o que o causa e como corrigi-lo.




91m bin sh 1 apk not found



O que é Docker e por que usá-lo?




O Docker é uma ferramenta que permite criar, executar e compartilhar aplicativos usando contêineres. Os contêineres são ambientes isolados que contêm tudo o que um aplicativo precisa para executar, como código, bibliotecas, dependências e configuração. Os contêineres são portáteis, o que significa que podem ser executados em qualquer máquina que tenha o Docker instalado, independentemente do sistema operacional ou hardware. Os contêineres também são escaláveis, o que significa que podem ser facilmente replicados, distribuídos e gerenciados em várias máquinas. Os contêineres também são eficientes, o que significa que usam menos recursos do que as máquinas virtuais tradicionais.


O Docker oferece muitos benefícios para desenvolvedores e usuários de aplicativos, como:


  • Portabilidade: você pode criar um aplicativo uma vez e executá-lo em qualquer lugar com o Docker. Você não precisa se preocupar com problemas de compatibilidade ou dependências.



  • Escalabilidade: você pode aumentar ou diminuir a escala de seu aplicativo adicionando ou removendo contêineres conforme necessário. Você também pode usar ferramentas de orquestração como Kubernetes ou Swarm para automatizar e gerenciar seus contêineres em várias máquinas.



  • Isolamento: você pode isolar seu aplicativo de outros aplicativos e da máquina host. Isso melhora a segurança e a confiabilidade, além de simplificar o teste e a depuração.



  • Eficiência: você pode usar menos recursos do que as máquinas virtuais tradicionais com o Docker. Os contêineres compartilham o mesmo kernel e usam apenas os recursos de que precisam.



O que é o erro "91m/bin/sh 1 apk não encontrado" e o que o causa?




O erro "91m/bin/sh 1 apk não encontrado" ocorre quando você tenta usar o apk comando em um Dockerfile baseado em uma distribuição não Alpine Linux. O apk O comando é o gerenciador de pacotes do Alpine Linux, que é uma distribuição leve e segura do Linux, frequentemente usada para imagens do Docker. O apk O comando permite instalar, atualizar e remover pacotes dos repositórios Alpine.


O erro significa que o apk O comando não foi encontrado na imagem base que você está usando para seu Dockerfile. A imagem base é a imagem que você especifica no DE instrução do seu Dockerfile. A imagem base fornece a base para sua imagem Docker e define o sistema operacional e os pacotes disponíveis. Por exemplo, se o seu Dockerfile estiver assim:


DE python:3.8


RUN apk add --no-cache gcc musl-dev linux-headers


Isso significa que você está usando o python:3.8 image como sua imagem base, que é baseada no Debian Buster, uma distribuição Linux baseada no Debian. O Debian Buster não suporta o apk comando, portanto, quando você tenta executá-lo, obtém o erro "91m/bin/sh 1 apk não encontrado".


Como corrigir o erro "91m/bin/sh 1 apk não encontrado" ao criar uma imagem do Docker?




Existem duas maneiras principais de corrigir o erro "91m/bin/sh 1 apk não encontrado" ao criar uma imagem do Docker: alterando a imagem base ou alterando o gerenciador de pacotes.


Mudando a imagem base




Você pode alterar a imagem base para uma imagem Alpine Linux compatível com o apk comando. O Alpine Linux é uma distribuição leve e segura do Linux, frequentemente usada para imagens do Docker. As imagens do Alpine Linux são menores e mais rápidas do que a maioria das outras imagens do Linux, o que pode melhorar o desempenho do Docker e reduzir os custos de armazenamento e largura de banda.


Você pode encontrar as imagens oficiais do Alpine Linux no Docker Hub ou usar o python:3.8-alpine imagem como exemplo. O python:3.8-alpine image é baseada no Alpine Linux 3.13 e inclui Python 3.8 e pip.Para usar esta imagem como sua imagem base, você pode alterar seu Dockerfile para ficar assim:


DE python:3.8-alpine


RUN apk add --no-cache gcc musl-dev linux-headers


Isso deve corrigir o erro "91m/bin/sh 1 apk não encontrado" e permitir que você crie sua imagem do Docker com sucesso.


Mudando o gerenciador de pacotes




Você também pode alterar o gerenciador de pacotes para apto ou apt-get, que são suportados pela maioria das distribuições Linux baseadas em Debian. apto e apt-get são ferramentas que permitem instalar, atualizar e remover pacotes dos repositórios Debian.


Você pode encontrar as imagens oficiais baseadas no Debian no Docker Hub ou usar o python:3.8-slim imagem como exemplo. O python:3.8-slim image é baseada no Debian Buster e inclui Python 3.8 e pip. Para usar esta imagem como sua imagem base, você pode alterar seu Dockerfile para ficar assim:


DE python:3.8-slim


EXECUTAR apt-get update && apt-get install -y gcc libc-dev linux-headers && rm -rf /var/lib/apt/lists/*


Observe que você também pode precisar alterar os nomes dos pacotes para corresponder aos disponíveis nos repositórios Debian. Por exemplo, musl-dev não está disponível no Debian, então você precisa usar libc-dev em vez de.


Isso também deve corrigir o erro "91m/bin/sh 1 apk não encontrado" e permitir que você crie sua imagem do Docker com sucesso.


Conclusão




Neste artigo, explicamos o que significa o erro "91m/bin/sh 1 apk não encontrado", o que o causa e como corrigi-lo ao criar uma imagem do Docker. Mostramos duas maneiras principais de corrigir o erro: alterando a imagem base ou alterando o gerenciador de pacotes. Também fornecemos alguns exemplos de Dockerfiles que usam diferentes imagens de base e gerenciadores de pacotes.


Esperamos que este artigo tenha ajudado você a resolver seu problema e melhorar sua experiência com o Docker. Se você tiver alguma dúvida ou feedback, sinta-se à vontade para deixar um comentário abaixo.


Perguntas Frequentes (FAQ)




O que é um Dockerfile?




Um Dockerfile é um arquivo de texto que contém instruções para criar uma imagem do Docker.Uma imagem do Docker é um instantâneo de um aplicativo e suas dependências que podem ser executados como um contêiner usando o Docker.


O que é um contêiner?




Um contêiner é um ambiente isolado que contém tudo o que um aplicativo precisa para executar, como código, bibliotecas, dependências e configuração. Os contêineres são portáteis, escaláveis, isolados e eficientes.


O que é Alpine Linux?


O Alpine Linux é uma distribuição Linux leve e orientada para a segurança, baseada em musl libc e busybox. O Alpine Linux foi projetado para ser pequeno, simples e seguro, tornando-o ideal para imagens do Docker. O Alpine Linux usa uma técnica chamada executáveis independentes de posição para randomizar a localização dos programas na memória, o que torna difícil para um invasor explorar peculiaridades na memória e assumir o controle de uma máquina. A distro também é minimalista em sua configuração, usando OpenRC como sistema init e apk como gerenciador de pacotes. O Alpine Linux tem a reputação de ser rápido, estável e confiável. O que é Debian?




Debian é uma distribuição Linux gratuita e de código aberto conhecida por sua estabilidade, segurança e versatilidade. Debian é uma das distribuições Linux mais antigas e populares, com uma grande e ativa comunidade de desenvolvedores e usuários. O Debian suporta uma ampla variedade de arquiteturas, dispositivos e pacotes de software, tornando-o adequado para vários propósitos e ambientes. O Debian usa uma técnica chamada debconf para configurar o sistema de acordo com as preferências do usuário, o que facilita a personalização e a manutenção. A distribuição usa dpkg como gerenciador de pacotes de baixo nível e apt ou apt-get como gerenciador de pacotes de alto nível. O Debian tem a reputação de ser robusto, confiável e flexível.


Como escolho a melhor imagem base para meu Dockerfile?




Não há uma resposta definitiva para essa pergunta, pois imagens de base diferentes podem ter vantagens e desvantagens diferentes, dependendo de suas necessidades e preferências. No entanto, alguns fatores gerais que você pode querer considerar ao escolher uma imagem base são:


  • Tamanho: imagens menores são mais rápidas de criar, extrair, enviar e executar e usam menos armazenamento e largura de banda. No entanto, imagens menores também podem ter menos recursos e pacotes do que imagens maiores.



  • Segurança: imagens mais seguras são menos vulneráveis a ataques e violações e podem ter atualizações e patches melhores. No entanto, imagens mais seguras também podem ter mais restrições e limitações do que imagens menos seguras.



  • Compatibilidade: Imagens mais compatíveis são mais fáceis de trabalhar e integrar com outras ferramentas e plataformas. No entanto, imagens mais compatíveis também podem ter mais dependências e conflitos do que imagens menos compatíveis.



  • Desempenho: imagens mais rápidas e eficientes são melhores para a velocidade e o consumo de recursos do seu aplicativo. No entanto, imagens mais rápidas e eficientes também podem ter menor qualidade ou estabilidade do que imagens mais lentas e menos eficientes.



  • Manutenibilidade: Mais fácil de manter as imagens são mais simples de atualizar, modificar e solucionar problemas. No entanto, imagens mais fáceis de manter também podem ter menos funcionalidade ou personalização do que imagens mais difíceis de manter.



Você também pode verificar a documentação, análises, classificações e estatísticas das imagens básicas que está considerando para obter mais informações e comentários de outros usuários.


Como faço para testar se minha imagem do Docker funciona corretamente?




Uma maneira de testar se sua imagem do Docker funciona corretamente é executá-la como um contêiner usando o docker run comando. O docker run O comando permite criar e iniciar um contêiner a partir de uma imagem, opcionalmente com várias opções e argumentos. Por exemplo, se você deseja executar sua imagem no modo interativo com um terminal conectado, pode usar este comando:


docker run -it --rm your_image_name


Isso criará um contêiner de sua imagem, anexará um terminal a ele e o removerá quando você sair. Você pode testar seu aplicativo dentro do contêiner executando comandos ou scripts como faria normalmente.


Como compartilho minha imagem do Docker com outras pessoas?




Uma maneira de compartilhar sua imagem do Docker com outras pessoas é enviá-la para um registro, como Docker Hub ou GitHub Packages. Um registro é um serviço que armazena e distribui imagens do Docker. Você pode criar uma conta em um serviço de registro, criar um repositório para sua imagem, marcar sua imagem com o nome do repositório e enviar sua imagem para o repositório usando o docker push comando. Por exemplo, se você deseja enviar sua imagem para o Docker Hub, pode usar estes comandos:


tag docker your_image_name your_username/your_repository_name


docker push your_username/your_repository_name


Isso fará o upload da sua imagem para o seu repositório no Docker Hub. Você pode compartilhar a URL do repositório com outras pessoas que podem obter sua imagem usando o puxador de encaixe comando. 0517a86e26


1 view0 comments

Recent Posts

See All

Baixar Solar Smash apkpure

Como Baixar e Instalar o Solar Smash no Android Você quer experimentar a emoção de destruir planetas com várias armas e desastres? Se...

留言


bottom of page