Como o Docker funciona até onde é possível editar arquivos de configuração do Apache e coisas semelhantes?

5

Estou interessado em entender meu conceito completo de usar o Docker no meu servidor para meus clientes da Web.

Idealmente, eu adoraria criar uma janela de encaixe com apache, PHP, MySQL, servidor de e-mail, servidor DNS, redis, memcached, imagemagick e muito mais, e fazer com que eu possa simplesmente abrir um novo servidor para clientes e ficar em minutos .

Eu vi este Apcache Docker aqui link

Diz:

This is an Apache image including SSL and PHP5 support. In order to use this image effectively, you'll need to mount:

/var/www for your site content (e.g. using "-v /home/jdoe/mysite/:/var/www/") /var/log/apache2, optionally, if you want to store logfiles visibly outside the container /etc/ssl, optionally, if you wish to use SSL with real keys

Mais especificamente:

Mount /var/www for your site content

Se bem entendi, isso é permitir que pastas externas / arquivos de sites existam no servidor fora da imagem do Docker, para que o Docker seja basicamente apenas para lidar com o software do servidor real?

Mais algumas perguntas:

Coisas como os registros do Apache Virtualhost para adição de domínios existem dentro da imagem do docker ou no servidor externo e podem ser editadas?

    
por JasonDavis 15.02.2016 / 22:30

1 resposta

3

How does Docker work as far as being able to edit Apache config files and similar stuff?

Praticamente, porém, você gostaria que funcionasse. :)

If I understand correctly this is to allow outside folder/files of websites to exist on the server outside of the Docker image so that Docker is basically just to handle the actual server software?

Sim, está correto.

Would things like Apache Virtualhost records for adding domains exist inside the docker image or on the server outside of it and be editable?

Se você quiser / precisar que eles existam fora do contêiner, crie-os dessa maneira.

Como você sem dúvida notou, minhas respostas às suas perguntas foram bastante nebulosas. Há uma boa razão para isso. Só porque você está usando o docker não significa que haja uma única maneira de fazer as coisas. Seu caso de uso determinará em grande parte como você deseja usar o docker.

No meu ambiente, escolhemos armazenar toda a configuração e todo o estado do aplicativo fora do contêiner. Para configuração, isso significa que mantemos um diretório "etc" no host que contém toda a configuração para cada tipo de contêiner em execução nesse host. Da mesma forma, armazenamos o estado (arquivos de banco de dados, etc.) no sistema de arquivos do host, em vez de usar volumes de dados. Os diretórios de configuração e os locais de armazenamento de dados são montados em contêineres em execução usando o sinalizador -v runtime. Essa arquitetura funcionou muito bem para nós, mas pode não ser o que sua organização precisa.

Há muitos casos de uso válidos para usar imagens docker completamente independentes que incluem configuração, junto com o uso de volumes de dados para o estado do aplicativo. Você só precisa enumerar seus requisitos e, em seguida, elaborar um design que atenda aos seus requisitos.

O Docker é uma ferramenta para você usar. Cabe ao usuário determinar como eles vão usá-lo.

    
por 15.02.2016 / 22:42

Tags