sistemas:suap:docker:dockercomvagrant

Docker com Vagrant (para MACOSX)

Se você já está usando Linux , você não precisa executar esta parte. Mas no OS X, você precisa rodar o Docker em uma imagem de um Linux em um Virtualbox.

vagrant.configure("2") do |config|
  config.vm.box = "raring"
  config.vm.box_url = "http://cloud-images.ubuntu.com/raring/current/raring-server-cloudimg-vagrant-amd64-disk1.box"
  # vamos redirecionar a porta 8000 da VM para a porta 8000 no host (OS X)
  config.vm.network :forwarded_port, host: 8000, guest: 8000
  config.vm.synced_folder("vagrant-docker", "/vagrant")

  # Adicionar um pouco mais de memória nunca é demais.
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", 2048]
  end
end
mkdir vagrant-docker
$ vagrant up

Saída:

Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'raring'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] -- 8000 => 8000 (adapter 1)
[default] Running 'pre-boot' VM customizations...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
[default] Mounting shared folders...
[default] -- /vagrant

Digite:

$ vagrant ssh

Saída:

Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-29-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Fri Aug 30 10:43:37 UTC 2013

  System load:  0.25              Processes:           80
  Usage of /:   2.4% of 39.33GB   Users logged in:     0
  Memory usage: 8%                IP address for eth0: 10.0.2.15
  Swap usage:   0%

  Graph this data and manage this system at https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

  Use Juju to deploy your cloud instances and workloads:
    https://juju.ubuntu.com/#cloud-raring

0 packages can be updated.
0 updates are security updates.

vagrant@vagrant-ubuntu-raring-64:~$
vagrant@vagrant-ubuntu-raring-64:~$ sudo docker pull ubuntu

Saída:

Pulling repository ubuntu
Pulling image 8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c (precise) from ubuntu
Pulling 8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c metadata
Pulling 8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c fs layer
Downloading 58.34 MB/58.34 MB (100%)
Pulling image b750fe79269d2ec9a3c593ef05b4332b1d1a02a62b4accb2c21d589ff2f5f2dc (quantal) from ubuntu
Pulling b750fe79269d2ec9a3c593ef05b4332b1d1a02a62b4accb2c21d589ff2f5f2dc metadata
Pulling b750fe79269d2ec9a3c593ef05b4332b1d1a02a62b4accb2c21d589ff2f5f2dc fs layer
Downloading 10.24 kB/10.24 kB (100%)
Pulling 27cf784147099545 metadata
Pulling 27cf784147099545 fs layer
Downloading 94.86 MB/94.86 MB (100%)
vagrant@vagrant-ubuntu-raring-64:~$
vagrant@vagrant-ubuntu-raring-64:~$ sudo docker run ubuntu 

Saída:

/bin/echo hello there, docker user
hello there, docker user
vagrant@vagrant-ubuntu-raring-64:~$ sudo docker run ubuntu uname -a

Saída:

Linux cf95ac04d25d 3.8.0-29-generic #42-Ubuntu SMP Tue Aug 13 19:40:39 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
vagrant@vagrant-ubuntu-raring-64:~$ sudo docker images

Saída:

REPOSITORY          TAG                 ID                  CREATED             SIZE
ubuntu              12.04               8dbd9e392a96        4 months ago        131.5 MB (virtual 131.5 MB)
ubuntu              12.10               b750fe79269d        5 months ago        24.65 kB (virtual 180.1 MB)
ubuntu              latest              8dbd9e392a96        4 months ago        131.5 MB (virtual 131.5 MB)
ubuntu              precise             8dbd9e392a96        4 months ago        131.5 MB (virtual 131.5 MB)
ubuntu              quantal             b750fe79269d        5 months ago        24.65 kB (virtual 180.1 MB)
vagrant@vagrant-ubuntu-raring-64:~$ DJANGO_APP=$(sudo docker run -d -i -t -p 8000:8000 ubuntu /bin/bash)

-i -t -p 8000: 8000: avisa ao Docker para redirecionar a porta 8000 do recipiente para a porta 8000 do host (Sim , este é um double -forward se você estiver usando Virtualbox).

Ver:

vagrant@vagrant-ubuntu-raring-64:~$ docker ps

Anexando:

vagrant@vagrant-ubuntu-raring-64:~$ docker attach $DJANGO_APP

Saída:

root@807f3eb43b5c:/#

Editar o arquivo /etc/apt/sources.list

root@2f6a9bcda315:/# nano /etc/apt/sources.list

Incluir o repositorio multiverse em /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu precise main universe multiverse

Atualizar os pacotes

root@2f6a9bcda315:/# apt-get update

Instalar o PIP

root@2f6a9bcda315:/# apt-get install python-pip
root@2f6a9bcda315:/# pip install virtualenv
root@2f6a9bcda315:/# apt-get install libpq-dev python-dev

Executar o Django

root@3623418e0f85:/docker_django# python manage.py runserver 

Agora, se você carregar 'http://localhost:8000 /' no browser do sistema operacional hospedeiro, você deve ver a página de boas-vindas do Django.

  • sistemas/suap/docker/dockercomvagrant.txt
  • Última modificação: 2021/08/25 10:33
  • (edição externa)