Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker Overkill - Coisas interessantes, mirabol...

Docker Overkill - Coisas interessantes, mirabolantes, inseguras e desnecessárias para se fazer com Docker

Quem já teve a oportunidade de se aprofundar no Docker, sabe como é facil se deixar levar pelo ímpeto de fazer de tudo com essa ferramenta.

Nessa palestra vou explorar algumas coisas não convencionais que aprendi ao longo do tempo em que usei Docker. Darei exemplos de como isso pode ser divertido, desastroso, inseguro, e claro, como pode ser útil.

Precisa de um browser para acessar a internet? Por que não um container?
Cansado de problemas com NPM e pacotes globais? Um container é tudo que você precisa!
Aflito em ter que instalar Docker numa nova máquina? Que tal rodá-lo diretamente de um pen-drive?

Se você acha isso desnecessário, bem, talvez esteja certo. Você pode pensar que é inseguro, e tenha certeza que é!
Mas, a vida é para ser vivida com emoção, e a aplicação é para ser rodada num container.

Avatar for Felipe Arruda Pontes

Felipe Arruda Pontes

October 17, 2016
Tweet

Other Decks in Technology

Transcript

  1. @4rrud4 Desenvolvedor Formado em Sistemas de Informações na Unirio Interessado

    em Machine Learning Colecionador amador de Boardgames
  2. docker-compose.yml Container para guardar os dados nodeglobal: image: node:0.12.14-wheezy command:

    "echo ‘fim’" working_dir: "/usr/src/app" volumes: - /usr/local/lib/node_modules - /usr/local/bin
  3. docker-compose.yml Container que usa os dados do container anterior nodeg:

    image: node:0.12.14-wheezy command: "npm install" working_dir: "/usr/src/app" volumes: - ./:/usr/src/app
  4. docker-compose.yml Container que usa os dados do container anterior nodeg:

    image: node:0.12.14-wheezy command: "npm install" working_dir: "/usr/src/app" volumes: - ./:/usr/src/app volumes_from: - nodeglobal -
  5. docker-compose.yml Usando X do host firefox: build: . command: firefox

    environment: - DISPLAY volumes: - /tmp/.X11-unix:/tmp/.X11-unix:ro - $XAUTHORITY:/root/.Xauthority
  6. Audio... Não é tão simples assim! • Compartilhando volumes •

    Setando grupo: --add-group audio • Muitas variáveis • Necessário saber BEM como configurar PulseAudio • Medinho de estragar o brinquedo
  7. docker-compose.yml Usando ssh com Forward do x, pulse audio e

    com PulseAudio do host aceitando conexão local chrome: build: . ports: - "2222:22" volumes: - ./:/data
  8. ssh docker-chrome chrome-pulseaudio-forward ~/.ssh/config: Host docker-chrome User chrome Port 2222

    HostName 127.0.0.1 RemoteForward 64713 localhost:4713 ForwardX11 yes
  9. docker-compose.yml python + OpenCV cv: build: . working_dir: "/data" working_dir:

    python rotate.py -i image.jpg environment: - DISPLAY volumes: - /tmp/.X11-unix:/tmp/.X11-unix:ro - $XAUTHORITY:/root/.Xauthority
  10. menuentry "Try Ubuntu GNOME without installing" { set gfxpayload=keep linux

    /casper/vmlinuz.efi persistent cgroup_enable=memory file=/cdrom/preseed/ubuntu-gnome.seed boot=casper quiet splash -- initrd /casper/initrd.lz }