Configuarção do Ambiente
Utilize uma instalação limpa do CentOS 7. Ajuste o IP para 192.168.2.10 e resolva problemas de resolução durante a instalação, se necessário, adicionando parâmetros de vídeo ao kernel.
Instalação do Docker
Atuailze os pacotes e instale as dependências necessárias.
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce
Inicie e configure o Docker para inicialização automática.
sudo systemctl start docker
sudo systemctl enable docker
Instalação do Docker Compose
Baixe a versão estável do Docker Compose e conceda permissões de execução.
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
Comandos úteis do Docker Compose:
docker-compose up -d # Inicia serviços em segundo plano
docker-compose down -v # Para e remove contêineres
docker-compose start # Inicia contêineres existentes
docker-compose stop # Para contêineres
Instalação do Harbor
Baixe o pacote offline do Harbor e extraia-o.
wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-latest.tgz
tar -xzf harbor-offline-installer-latest.tgz -C /opt/
cd /opt/harbor
Edite o arquivo de configuração principal.
vi harbor.cfg
Modifique as seguinets linhas:
hostname = registro.meusite.com
harbor_admin_password = SenhaSegura123
Para permitir acesso HTTP na porta 5000, edite o arquivo de orquestração.
vi docker-compose.yml
Adicione a seção de portas no serviço registry:
ports:
- 5000:5000
Inicialize as configurações e execute o instalador.
sudo ./prepare
sudo ./install.sh
Acesse http://registro.meusite.com e faça login com as credenciais definidas.
Enviando Imagens de Clientes
Em máquinas clientes, instale o Docker e configure para permitir registros não seguros.
sudo vi /etc/docker/daemon.json
Adicione o seguinte conteúdo:
{
"insecure-registries": ["registro.meusite.com"]
}
Reinicie o serviço Docker no cliente.
sudo systemctl restart docker
Marque a imagem desejada com o endereço do registro privado.
docker tag minha-imagem:tag registro.meusite.com/projeto/nova-imagem:tag
Exemplo:
docker tag postgres:12 registro.meusite.com/banco-de-dados/postgres-custom:1.0
Faça login no registro e envie a imagem.
docker login registro.meusite.com
docker push registro.meusite.com/banco-de-dados/postgres-custom:1.0
Verifique o envio acessando a interface web do Harbor.