Prefácio
Docker é um mecanismo de contêiner de aplicativo muito conveniente. É equivalente a empacotar o ambiente operacional relevante do aplicativo em uma caixa, implantá-lo diretamente e usá-lo pronto para uso. Quase não há necessidade de configurá-lo e é um indispensável para pessoas preguiçosas.
Desta vez escolhemos a implantação do Docker, então primeiro precisamos instalar e configurar o Docker em nosso Ubuntu. Desta vez instalei o Docker Communtiy, também conhecido como Docker CE (versão comunitária gratuita).
1. Preparativos para instalação
1.1 Confirme a versão atual do sistema
Se precisar instalar o Docker, você precisa ter certeza de que seu Ubuntu é de 64 bits e tem um dos 4 números de versão a seguir:
- Discoteca 19.04
- Cósmico 18.10
- Biônico 18.04 (LTS)
- Xenial 16.04(LTS)
Verifique o número da versão:
lsb_release -c
Use o comando acima para verificar o codinome do Ubuntu e ver se é um dos quatro números de versão acima.
Além disso, o Docker suporta arquitetura de hardware x86-64 (amd64), armhf, arm64, s390x (IBM Z), ppc64le (IBM Power). Normalmente encontramos mais máquinas com chips X86.
1.2 Desinstale a versão antiga do Docker
A versão antiga do Docker tem muitos nomes, incluindo docker, docker.io ou docker-engine. Para garantir uma instalação tranquila, devemos primeiro desinstalar essas janelas de encaixe antigas e inserir os seguintes comandos:
sudo apt-get remove docker docker-engine docker.io containerd runc
Se tudo correr bem, nenhum desses pacotes instalados será gerado.
2. Instalação oficial
2.1 Instalar usando o Repositório
O primeiro método de instalação é através do Repositório. Precisamos primeiro configurar um repositório de software Repositório e, em seguida, instalar ou atualizar a partir desse repositório. (Existem dois outros métodos de instalação na documentação oficial: instalação a partir do arquivo de pacote .deb; instalação a partir do script simples oficial, que não será descrito em detalhes aqui) Primeiro atualize
a fonte do gerenciador de pacotes apt:
sudo apt-get update
Em seguida, defina apt para permitir que um armazém seja transmitido através de https: (Depois de inserir \ aqui, pressione Enter diretamente, um símbolo > aparecerá e você poderá continuar inserindo a próxima linha)
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
Em seguida, adicionamos a chave GPG oficial do Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Então entramos:
sudo apt-key fingerprint 0EBFCD88
Para verificar se a chave está correta, se estiver correta, a saída deve ser consistente com o seguinte:
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [ unknown] Docker Release (CE deb) [email protected] sub rsa4096
2017-02-22 [S]
Agora vamos configurar o repositório. Você precisa digitar:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Nota: Se você quiser usar a versão nightly ou test (nova, mas instável), basta adicionar nightly ou test ou ambos após o campo stable.
Ok, agora que o warehouse foi configurado, podemos instalar o Docker por meio dele e, em seguida, atualizar a fonte do apt:
sudo apt-get update
Então, se você precisar instalar o docker mais recente, digite o seguinte comando:
sudo apt-get install docker-ce docker-ce-cli containerd.io
Claro, você instala a versão mais recente com o apt, mas por razões de estabilidade você pode precisar de uma versão específica, então você pode usar
apt-cache madison docker-ce
Obtenha a versão do docker no warehouse, você poderá receber o seguinte prompt:
docker-ce | 5:18.09.13-0ubuntu-xenial |
https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 5:18.09.03-0ubuntu-xenial |
https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 18.06.1ce3-0~ubuntu |
https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 18.06.0ce3-0~ubuntu |
https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
…
Então passe:
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=VERSION_STRING> containerd.io
2.2 Verifique a instalação
Usar comando
docker version
Mostrado aqui 缺失docker.io
, use
apt-get install docker.io
Outro erro foi relatado:
Os seguintes pacotes têm dependências não atendidas:
docker.io: Dependências: containerd (>= 1.2.6-0ubuntu1~)
E: O erro não pode ser corrigido porque você pediu que alguns pacotes permanecessem como estão, o que quebra as dependências entre pacotes.
resolver:
# 查看是否安装了 containerd
$ dpkg -l containerd*
期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称 版本 体系结构 描述
+++-=============================-===================-===================-===============================================================
ii containerd 1.5.5-0ubuntu3~18.0 amd64 daemon to control runC
rc containerd.io 1.6.6-1 amd64 An open and reliable container runtime
# 如果containerd不存在,则安装
sudo apt install containerd
# 如果containerd.io不存在,则安装
sudo apt-get install containerd.io
# 安装成功后再安装 docker.io
sudo apt-get install docker.io
# 查询版本
docker version
Ocorreu um erro durante a instalação
E: O subprocesso /usr/bin/dpkg retornou um código de erro (1)
Solução:
use o comando para consertar:
sudo apt-get -f install
Em seguida, reinstale-o! !
terminar a instalação! ! ! !
Se surgirem outros problemas, basta verificar novamente. O processo geral está concluído!
3. Outras configurações
3.1 Resolva o problema do sudo quando subusuários usam o docker
1. Crie um grupo chamado docker. Geralmente, ele é criado automaticamente quando o docker é instalado. Esta etapa pode ser omitida:
sudo groupadd docker
2. Adicione o usuário atual à janela de encaixe do grupo:
sudo gpasswd -a ${USER} docker
3. Reinicie o serviço docker:
sudo systemctl restart docker
4. Reinicie o servidor
shutdown -r now
5. Após a conclusão da operação, verifique-a. Você não precisa trazer o sudo agora:
arlo@inboc-pc-415:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Se o método acima não funcionar, basta usar o seguinte comando:
sudo groupadd docker
sudo usermod -aG docker $USER # USER是系统变量
newgrp docker