Docker Run Command
Índice:
- Comando Executar Docker
- Execute o contêiner em primeiro plano
- Execute o contêiner no modo desanexado
- Remova o contêiner após a saída
- Defina o nome do contêiner
- Publicando portas de contêiner
- Compartilhando dados (montando volumes)
- Execute o contêiner interativamente
- Conclusão
O Docker é uma plataforma que permite desenvolver, testar e implantar aplicativos como contêineres portáteis e auto-suficientes que são executados virtualmente em qualquer lugar.
O comando
docker run
cria um contêiner a partir de uma determinada imagem e inicia o contêiner usando um determinado comando. É um dos primeiros comandos com os quais você deve se familiarizar ao começar a trabalhar com o Docker., usaremos a imagem oficial do Nginx para mostrar várias maneiras de executar um contêiner do Docker.
Comando Executar Docker
O comando
docker run
assume o seguinte formato:
docker run IMAGE
O nome da imagem a partir da qual o contêiner deve ser criado é o único argumento necessário para o comando
docker run
. Se a imagem não estiver presente no sistema local, ela será retirada do registro.
Se nenhum comando for especificado, o comando especificado nas instruções
CMD
ou
ENTRYPOINT
será executado ao executar o contêiner.
A partir da versão 1.13, a CLI do Docker foi reestruturada e todos os comandos foram agrupados no objeto com o qual eles interagem.
Como o comando
run
interage com contêineres, agora é um subcomando do
docker container
do
docker container
. A sintaxe do novo comando é a seguinte:
docker container run IMAGE
A antiga sintaxe anterior à 1, 13 ainda é suportada. Sob o capô, o comando
docker run
é um alias para
docker container run
. Os usuários são incentivados a usar a nova sintaxe de comando.
Uma lista de todas as opções de
docker container run
pode ser encontrada na página de documentação do Docker.
Execute o contêiner em primeiro plano
Por padrão, quando nenhuma opção é fornecida ao comando
docker run
, o processo raiz é iniciado em primeiro plano. Isso significa que a entrada, saída e erro padrão do processo raiz estão anexados à sessão do terminal.
docker container run nginx
A saída do processo nginx será exibida no seu terminal. Como não há conexões com o servidor da web, o terminal está vazio.
Para parar o contêiner, encerre o processo Nginx em execução pressionando
CTRL+C
Execute o contêiner no modo desanexado
Para manter o contêiner em execução ao sair da sessão do terminal, inicie-o em um modo desanexado. Isso é semelhante à execução de um processo Linux em segundo plano.
Use a opção
-d
para iniciar um contêiner desanexado:
docker container run -d nginx
050e72d8567a3ec1e66370350b0069ab5219614f9701f63fcf02e8c8689f04fa
O contêiner desanexado será interrompido quando o processo raiz for finalizado.
Você pode listar os contêineres em execução usando o comando
docker container ls
.
Para conectar seu terminal ao processo raiz do contêiner desanexado, use o comando
docker container attach
.
Remova o contêiner após a saída
Por padrão, quando o contêiner sai, seu sistema de arquivos persiste no sistema host.
As opções
--rm
informam ao comando
docker run
para remover o contêiner quando ele sai automaticamente:
docker container run --rm nginx
A imagem do Nginx pode não ser o melhor exemplo para limpar o sistema de arquivos do contêiner após a saída do contêiner. Essa opção geralmente é usada em contêineres em primeiro plano que executam tarefas de curto prazo, como testes ou backups de banco de dados.
Defina o nome do contêiner
No Docker, cada contêiner é identificado por seu
UUID
e nome. Por padrão, se não for definido explicitamente, o nome do contêiner será gerado automaticamente pelo daemon do Docker.
Use a opção
--name
para atribuir um nome personalizado ao contêiner:
docker container run -d --name my_nginx nginx
O nome do contêiner deve ser exclusivo. Se você tentar iniciar outro contêiner com o mesmo nome, receberá um erro semelhante a este:
docker: Error response from daemon: Conflict. The container name "/my_nginx" is already in use by container "9…c". You have to remove (or rename) that container to be able to reuse that name.
Execute o
docker container ls -a
para listar todos os containers e veja seus nomes:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d695c1f5ef4 nginx "nginx -g 'daemon of…" 36 seconds ago Up 35 seconds 80/tcp my_nginx
Os nomes significativos são úteis para referenciar o contêiner em uma rede Docker ou ao executar comandos da CLI do docker.
Publicando portas de contêiner
Por padrão, se nenhuma porta for publicada, o processo em execução no contêiner estará acessível apenas de dentro do contêiner.
Portas de publicação significa mapear portas de contêiner para as portas da máquina host, para que elas estejam disponíveis para serviços fora do Docker.
Para publicar uma porta, use as opções
-p
seguinte maneira:
-p host_ip:host_port:container_port/protocol
- Se nenhum
host_ipfor especificado, o padrão será0.0.0.0. Se nenhumprotocolfor especificado, o padrão será TCP.Para publicar várias portas, use várias opções-p.
Para mapear a porta TCP 80 (nginx) no contêiner para a porta 8080 na interface host local host, execute:
docker container run --name web_server -d -p 8080:80 nginx
Você pode verificar se a porta foi publicada abrindo
http://localhost:8080
no navegador ou executando o seguinte comando
curl
no host do Docker:
curl -I
A saída será mais ou menos assim:
HTTP/1.1 200 OK Server: nginx/1.17.6 Date: Tue, 26 Nov 2019 22:55:59 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 19 Nov 2019 12:50:08 GMT Connection: keep-alive ETag: "5dd3e500-264" Accept-Ranges: bytes
Compartilhando dados (montando volumes)
Quando um contêiner é parado, todos os dados gerados pelo contêiner são removidos. Os volumes do Docker são a maneira preferida de manter os dados persistentes e compartilhá-los em vários contêineres.
Para criar e gerenciar volumes, use as opções
-p
seguinte maneira:
-v host_src:container_dest:options
- O
host_srcpode ser um caminho absoluto para um arquivo ou diretório no host ou um volume nomeado.Ocontainer_desté um caminho absoluto para um arquivo ou diretório no container.Options pode serrw(leitura-gravação) ero(somente leitura)) Se nenhuma opção for especificada, o padrão serárw.
Para explicar como isso funciona, vamos criar um diretório no host e colocar um arquivo
index.html
nele:
mkdir public_html
echo "Testing Docker Volumes" > public_html/index.html
Em seguida, monte o diretório
public_html
em
/usr/share/nginx/html
no contêiner:
docker run --name web_server -d -p 8080:80 -v $(pwd)/public_html:/usr/share/nginx/html nginx
Em vez de especificar o caminho absoluto para o diretório
public_html
, estamos usando o comando
$(pwd)
, que imprime o diretório de trabalho atual.
Agora, se você digitar
http://localhost:8080
no seu navegador, deverá ver o conteúdo do arquivo
index.html
. Você também pode usar
curl
:
curl
Execute o contêiner interativamente
Ao lidar com processos interativos como
bash
, use as opções
-i
e
-t
para iniciar o contêiner.
As opções
-it
dizem ao Docker para manter a entrada padrão conectada ao terminal e alocar um pseudo-tty:
docker container run -it nginx /bin/bash
O shell Bash do contêiner será anexado ao terminal e o prompt de comando mudará:
root@1da70f1937f5:/#
Agora, você pode interagir com o shell do contêiner e executar qualquer comando dentro dele.
Neste exemplo, fornecemos um comando (
/bin/bash
) como argumento para o comando
docker run
que foi executado em vez do especificado no arquivo Dockerfile.
Conclusão
O Docker é o padrão para empacotar e implantar aplicativos e um componente essencial de CI / CD, automação e DevOps.
O comando
docker container run
é usado para criar e executar contêineres do Docker.
Direitos autorais protegem os detentores de contas bancárias são mais importantes do que fornecer informações para ajudar na execução de direitos autorais De acordo com uma decisão do tribunal holandês esta semana, as leis de privacidade que protegem correntistas bancários são mais importantes do que fornecer informações para ajudar na execução de direitos autorais, segundo uma decisão do tribunal holandês esta semana. tem que revelar quem tem acesso a uma conta bancária, cujo número está public
FTD World, em ftdworld.net, é um site de indexação da Usenet que lista links para arquivos binários postados no Usenet. Ele também fornece arquivos na listagem do formato NZB que permite aos usuários fazer o download dos arquivos publicados com mais facilidade. Ao fazer isso, o site fornece acesso a arquivos de entretenimento protegidos por direitos autorais, incluindo livros, filmes, músicas, jogos e software sem a permissão dos detentores dos direitos autorais, segundo a fundação antipirataria
Comando eco no linux com exemplos
O comando echo é um dos comandos mais básicos e mais usados no Linux. Os argumentos transmitidos para eco são impressos na saída padrão.
Comando Curl no linux com exemplos
O Curl é um utilitário de linha de comando para transferir dados de ou para um servidor projetado para funcionar sem a interação do usuário. Neste tutorial, mostraremos como usar a ferramenta de curvatura através de exemplos práticos e explicações detalhadas das opções de curvatura mais comuns.







