Do not speak Portuguese? Translate this site with Google or Bing Translator
Instalando o Docker no Ubuntu 16.04 com Portainer

Posted on: January 29, 2020 12:18 PM

Posted by: Renato

Categories: Variados

Views: 393

docker

Autor:

Neste post eu vou demonstrar como instalar o Docker CE (Community Edition) no Ubuntu 16.04 e utilizar o Portainer para gerenciar o ambiente.

Portainer é uma solução de gerenciamento para o Docker, com ele é possível gerenciar facilmente os seus hosts Docker e clusters com Docker Swarm através de uma interface web limpa, simples e intuitiva.

Eu usei algumas vezes o Rancher, ele é bem completo e com várias features, o problema é que ele é muito pesado, ocupa aproximadamente 800mb de memória. O Portainer usa menos de 10mb e como a ideia no futuro é usar no Raspberry, quanto menos, melhor.

Antes de começar a instalação, garanta que não existem outras versões do Docker instalado no servidor. Se existir algo, o comando abaixo irá remover, caso contrário, vamos seguir em frente.

  1. sudo apt-get remove docker docker-engine docker.io

Atualizar os pacotes.

  1. sudo apt-get update

Instalar os pacotes para o apt use o repositório HTTPS.

  1. sudo apt-get install \
  2. apt-transport-https \
  3. ca-certificates \
  4. curl \
  5. software-properties-common

Adicionar o GPC offical do Docker.

  1. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Verificar o fingerprint.

  1. sudo apt-key fingerprint 0EBFCD88

A saída do comando é algo parecido com isso:

pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) <[email protected]> sub 4096R/F273FCD8 2017-02-22

Adicionar o repositório do Docker.

  1. sudo add-apt-repository \
  2. "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  3. $(lsb_release -cs) \
  4. stable"

Atualizar os pacotes.

  1. sudo apt-get update

E por fim, instalar o Docker.

  1. sudo apt-get install docker-ce

Após a instalação ser concluída, vamos verificar a versão do Docker.

  1. docker version

A saída do comando (no meu caso) foi esta:

Client: Version: 17.09.1-ce API version: 1.32 Go version: go1.8.3 Git commit: 19e2cf6 Built: Thu Dec 7 22:24:23 2017 OS/Arch: linux/amd64

Server: Version: 17.09.1-ce API version: 1.32 (minimum version 1.12) Go version: go1.8.3 Git commit: 19e2cf6 Built: Thu Dec 7 22:23:00 2017 OS/Arch: linux/amd64 Experimental: false

Pronto, o Docker está instalado e funcional. Para facilitar o gerenciamento do ambiente, vamos instalar configurar o Portainer no servidor com o Docker.

Primeiro é necessário criar o volume.

  1. docker volume create portainer_data

E depois criar o container (sim, o nosso gerenciador do Docker é um container).

docker run --name portainer -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Após concluir a criação do container, para iniciar as configurações iniciais, basta abrir o navegador e digitar o IP do servidor Docker com a porta 9000 (http://192.168.0.91:9000).

O primeiro passo é definir o nome de usuário e senha.

Depois selecionar o servidor que contém o Docker instalado (neste caso é local).

Pronto, o Portainer está instalado e pronto para uso.

Quando você usar novamente, basta usar este comando para da um start no portainer:

$ docker container run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer


Start Docker

sudo systemctl start docker

Basta trocar start por status, no comando acima, para verificar o serviço do Docker.

É mais cômodo e recomendável você configurar o Docker para que ele inicie junto com o sistema operacional, para isso você deve executar o seguinte comando:

sudo systemctl enable docker

A segunda coisa que pode acontecer ao tentar criar o container é o seu usuário não ter permissão para utilizar o serviço do Docker.

Primeiro crie o grupo docker:

sudo groupadd docker

Depois adicione seu usuário ao grupo:

sudo usermod -aG docker $USER

Renato Lucena - 05/2018

Atualizado 24/08/2018 por Renato Lucena


0

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (16) Variados (109) PHP (133) Laravel (171) Black Hat (3) front-end (29) linux (114) postgresql (39) Docker (28) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (56) devops (25) nodejs (5) npm (3) nvm (1) git (8) firefox (1) react (7) reactnative (5) collections (1) javascript (7) reactjs (8) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (1) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (2) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (12) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (5) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (3) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (43) Kubernetes (3) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (2) jwt (5) security (2) translate (1) kube (2) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (3) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (3) Architecture (4) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (2) autorizacao (2) authentication (4) authorization (3) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1) Curisidades (1) Samurai (1) KubeCon (1) GitOps (1) Axios (1) Fetch (1) Deepin (1) vue (4) nuxt (1) PKCE (1) Oauth2 (2) webhook (1) TypeScript (1) tailwind (1) gource (2)

New Articles



Get Latest Updates by Email