Executando Contêineres Docker a Partir de Imagens
Iniciar um Contêiner Docker
Depois de ter uma imagem Docker, pode iniciar um contêiner baseado nessa imagem utilizando o comando docker run.
$ docker run -d --name my-nginx-container nginx:latest
Este comando iniciará um novo contêiner Docker utilizando a imagem nginx:latest e atribuirá o nome my-nginx-container ao contêiner.
A opção -d executa o contêiner em modo desacoplado, o que significa que o contêiner será executado em segundo plano.
Expondo Portas de Contêiner
Se a sua aplicação em contêiner necessitar de ser acessível de fora do contêiner, precisa de mapear as portas do contêiner para as portas do sistema anfitrião utilizando a opção -p.
$ docker run -d -p 8080:80 --name my-nginx-container nginx:latest
Este comando mapeará a porta 80 do contêiner para a porta 8080 do anfitrião, permitindo que aceda ao servidor web Nginx que está a ser executado dentro do contêiner a partir do sistema anfitrião.
Ligar-se a um Contêiner em Execução
Pode ligar-se a um contêiner em execução e interagir com ele utilizando o comando docker attach.
$ docker attach my-nginx-container
Isto ligará o seu terminal ao contêiner em execução, permitindo-lhe visualizar a saída do contêiner e interagir com ele.
Executar Comandos num Contêiner
Também pode executar comandos dentro de um contêiner em execução utilizando o comando docker exec.
$ docker exec -it my-nginx-container bash
Este comando iniciará uma nova sessão bash dentro do contêiner my-nginx-container, permitindo-lhe executar comandos e interagir com o ambiente do contêiner.
As opções -it garantem que o comando é executado em modo interactivo com um terminal.
Parar e Remover Contêineres
Quando terminar com um contêiner, pode pará-lo utilizando o comando docker stop e removê-lo utilizando o comando docker rm.
$ docker stop my-nginx-container
$ docker rm my-nginx-container
Estes comandos primeiro param o contêiner em execução e, em seguida, removem-no do sistema.
Compreendendo como executar, gerir e interagir com contêineres Docker, pode implantar e gerir eficazmente as suas aplicações em contêiner.