Problemas comuns de contêiner do Docker
Docker é fácil de aprenderDiretório de artigos
- Problemas comuns de contêiner do Docker
- 1. O que é o Docker?
- 2. Após a saída do contêiner, ele não poderá ser visualizado por meio do comando docker container ls. Os dados serão perdidos?
- 3. Como parar todos os containers em execução?
- 4. Como limpar os contêineres parados em lotes?
- 4. Como obter a informação PID de um container?
- 5. Como obter o endereço IP de um container?
- 6. Como atribuir um endereço IP fixo ao container?
- 7. Como sair temporariamente do terminal de um contêiner interagente sem terminá-lo?
- 8. Ao utilizar o comando docker port para mapear a porta do container, o sistema reporta o erro "Erro: Nenhuma porta pública '80' publicada para xxx"?
- 9. Vários processos de aplicativos podem ser executados simultaneamente em um contêiner?
- 10. Como controlar o compartilhamento de recursos do sistema (CPU, memória) ocupado pelos containers?
- 11. O Docker começa a relatar a resposta de erro do daemon
- Resumir
1. O que é o Docker?
Docker é uma tecnologia que permite que aplicativos sejam empacotados em qualquer ambiente. A coisa empacotada é chamada de imagem.
2. Após a saída do contêiner, ele não poderá ser visualizado por meio do comando docker container ls. Os dados serão perdidos?
Depois que o contêiner sair, ele estará no estado encerrado (exited). Neste momento, você pode visualizá-lo através do contêiner docker ls -a, e os dados nele não serão perdidos.
O código é o seguinte (exemplo):
docker container ls -a
Ele também pode ser iniciado com o comando docker start. Apenas a exclusão do contêiner limpará todos os dados.
docker start
3. Como parar todos os containers em execução?
docker stop $(docker container ls -q)
4. Como limpar os contêineres parados em lotes?
docker container prune
4. Como obter a informação PID de um container?
docker inspect --format '{
{ .State.Pid }}' <CONTAINER ID or NAME>
5. Como obter o endereço IP de um container?
docker inspect --format '{
{ .NetworkSettings.IPAddress }}' <CONTAINER ID or NAME>
6. Como atribuir um endereço IP fixo ao container?
docker network create -d bridge --subnet 172.0.0.1/16 my-net
docker run --network=my-net --ip=127.0.0.1 -itd --name=my-container busybox
7. Como sair temporariamente do terminal de um contêiner interagente sem terminá-lo?
Ctrl-p
Ctrl-q
8. Ao utilizar o comando docker port para mapear a porta do container, o sistema reporta o erro "Erro: Nenhuma porta pública '80' publicada para xxx"?
* 创建镜像时 Dockerfile 要通过 EXPOSE 指定正确的开放端口;
* 容器启动时指定 PublishAllPort = true。
9. Vários processos de aplicativos podem ser executados simultaneamente em um contêiner?
A execução de vários processos de aplicativo no mesmo contêiner geralmente não é recomendada. Se você tiver requisitos semelhantes, poderá gerenciar os processos em execução por meio de alguns mecanismos adicionais de gerenciamento de processos, como supervisord.
10. Como controlar o compartilhamento de recursos do sistema (CPU, memória) ocupado pelos containers?
Ao usar o comando docker create para criar um contêiner ou usar o docker run para criar e iniciar um contêiner, você pode usar o parâmetro -c|–cpu-shares[=0] para ajustar o peso do contêiner usado pela CPU; use -m|–memory[=MEMORY] parâmetro para ajustar o tamanho da memória utilizada pelo container.
11. O Docker começa a relatar a resposta de erro do daemon
Resposta de erro do daemon: driver falhou ao programar conectividade externa no endpoint gloomy_kirch
systemctl restart firewalld
systemctl restart docker
Resumir
Não tenha medo se você encontrar problemas com o Docker, anote e esqueça na próxima vez
Espero que este blog seja útil para você. Eu sou o Rei da Luz e falo por mim mesmo.