Como o próprio nome já diz, o comando run
é utilizado para colocar um container em execução já existente ou iniciar um novo.
docker run <IMAGE_NAME>
Exemplo: docker run hello-world
docker run --rm <IMAGE_NAME>
Exemplo: docker run --rm hello-world
docker run <IMAGE_NAME:TAG>
Exemplo: docker run postgres:latest
docker run -e <ENV> = value <IMAGE_NAME>
Exemplo: docker run -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=secret postgres
Esse comando é útil quando sua imagem requer a informação de variáveis de ambiente para subir, como é o exemplo do PostgreSQL que necessita que você informe user e password.
docker run -d <IMAGE_NAME>
Exemplo: docker run -d -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=secret postgres
Com o -d seu terminal não irá ficar travado na execução do container.
docker run --name <NOME_DESEJADO> <IMAGE_NAME>
Dessa forma ficará mais fácil executar comando sobre esse container.
docker run -v <SOURCE_PATH>:<TARGET_PATH_CONTAINER> <IMAGE_NAME>
Exemplo: docker run -v .:/var/www node
O . (ponto) nesse caso vai servir para mapear a pasta em que você está no momento.
docker run <IMAGE_NAME> -p <PORTA_LOCAL>:<PORTA_CONTAINER>
Exemplo: docker run node -p 3000:3000
Quando você se conetar a porta 3000 do seu computador, estará se conectando a porta 3000 do container.
docker run --network <NOME_DA_REDE> <IMAGE_NAME>
Exemplo: docker run --network minha-rede hello-world
O novo container será criado e associado a rede minha-rede.
docker run -d --name <CONTAINER_NAME> -p <PORTA_LOCAL>:<PORTA_CONTAINER> -v <SOURCE_PATH>:<TARGET_PATH_CONTAINER> --network <NOME_DA_REDE> <IMAGE_NAME>
Exemplo:
docker run -d \
--name meu-container \
-p 8080:80 \
-v $(pwd)/dados:/app/dados \
--network minha-rede \
-e VARIAVEL=valor \
minha-imagem`