Skip to content

Instantly share code, notes, and snippets.

@scardine
Last active December 23, 2015 14:24
Show Gist options
  • Save scardine/c19a7bbcf0e51c2f31a9 to your computer and use it in GitHub Desktop.
Save scardine/c19a7bbcf0e51c2f31a9 to your computer and use it in GitHub Desktop.
CoreOS / Docker

Diagnóstico etcd

Para verificar log:

$ journalctl -u etcd

Para iniciar:

$ systemctl start etcd.service

Copiar imagens docker

Listar imagens:

$ docker images

Fazer dump de uma imagem:

$ docker save -o nome_arquivo.img nome/repositorio

Onde:

  • nome_arquivo.img: um nome qualquer para o arquivo, você escolhe.
  • nome/repositorio: o nome que você pega usando o comando docker images na coluna REPOSITORY.

Copie o arquivo .img para a máquina destino e carregue usando o comando:

$ docker load -i nome_arquivo.img

Copiar um container entre hosts

Dado que existe uma instancia com id 6d7fd41f20f4:

$ docker ps
CONTAINER ID        IMAGE             COMMAND      CREATED             STATUS              PORTS                    NAMES
6d7fd41f20f4        repo/nome:tag     "/bin/foo"   4 hours ago         Up 4 hours          0.0.0.0:1234->34/tcp   foo

Anote o valor da coluna "COMMAND" e "PORTS", depois salve o estado do container em uma nova imagem:

$ docker commit 6d7fd41f20f4 nome-copia
7cf3d9b6c2c61071fb5ebcfcdf32f2cd6c665c2b537d40ba25afab1c95b87bf7

Agora deve existir a nova imagem criada:

$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
nome-copia               latest              7cf3d9b6c2c6        10 seconds ago      6.017 MB
repo/nome                latest              46336f09623a        8 months ago        6.017 MB

Salve a nova imagem em um arquivo e copie para o servidor de destino:

$ docker save nome-copia | gzip > nome-copia.tgz
$ docker inspect 6d7fd41f20f4 > nome-copia.json
$ scp nome-copia.*  [email protected]:/home/user/

No outro servidor, carregue a imagem usando:

$ gzcat nome-copia.tgz | docker load
$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
nome-copia               latest              7cf3d9b6c2c6        10 seconds ago      6.017 MB

Agora pode rodar a imagem usando o comando e as portas que você anotou alguns passos antes:

$ docker run -d --name foo_2 -p 1234:34 nome-copia /bin/foo
$ docker ps
CONTAINER ID        IMAGE          COMMAND      CREATED             STATUS              PORTS                    NAMES
6d7fd41f20f4        nome-copia     "/bin/foo"   4 hours ago         Up 4 hours          0.0.0.0:1234->34/tcp     foo_2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment