Como editar as opções de um container existente?

2

Eu tenho um contêiner criado ( docker create ) de uma imagem que estava usando EXPOSE 22 no Dockerfile

Eu inicio via docker start <container name or ID> e acesso via ssh .

Agora preciso expor mais uma porta, de um serviço em execução nesse contêiner. Não consigo recriá-lo, ele precisa ter seus parâmetros de inicialização alterados para expor essa porta extra. Isso é possível?

Eu esperava que docker start permitisse os mesmos parâmetros que docker create ou docker run , mas esse não é o caso.

Nota: Eu sei que a filosofia do docker é crie contêineres efêmeros . É um fato da vida que eu tenho que lidar com esse contêiner altamente personalizado (em vez de recriá-lo)

    
por WoJ 01.12.2016 / 14:08

2 respostas

2

Você está sugerindo que não usou docker-compose para iniciá-lo, mas um docker run normal. Eu procuraria docker-compose , porque então você poderia ter parado e iniciado novamente com um novo arquivo de configuração. Isso permite criação reproduzível de um contêiner. Todos os exemplos de como usar docker run em todos os lugares não ajudam em nada.

No seu caso particular, acho que tudo o que você precisa fazer é adicionar uma regra iptables . Por padrão, dockerd manipula as regras iptables para redirecionar o tráfego (pode até ser a única coisa que o EXPOSE faz). Se você fizer iptables -t nat -L -n , provavelmente poderá ver como suas portas foram expostas. Você pode criar uma regra semelhante.

Isso significa que, quando você reinicia o servidor, a regra desaparece novamente. Você terá que salvar seu estado iptables . E isso, então, também afeta a inconveniência de dockerd manipular iptables . É difícil gerenciá-lo junto a outros serviços que acessam o iptables (como sistemas de configuração central, fail2ban ou até mesmo um simples salvamento automático de suas regras).

    
por 01.12.2016 / 14:33
-1

você pode abrir a porta no comando create. para abrir a porta 80, por exemplo, seria executado.

docker create -p 80:80 container/name

mais informações podem ser encontradas em link

    
por 01.12.2016 / 14:25

Tags