Requisitos:
Para seguir este artigo, você deve ter o Docker instalado no seu computador. Linuxhint tem muitos artigos que você pode seguir para instalar o docker na distribuição Linux desejada, se você ainda não o instalou. Então, verifique o Linuxhint.com o caso de você estar tendo problemas para instalar o docker.
Instalando o docker compor:
Você pode fazer o download do docker compor o arquivo binário com muita facilidade com o seguinte comando:
$ sudo curl -l "https: // github.com/docker/compor/liberações/download/1.24.1//
Docker-Compose-$ (uname -s)-$ (uname -m) "-o/usr/local/bin/Docker-Comppose
OBSERVAÇÃO: ondulação não pode ser instalado em sua distribuição Linux. Se for esse o caso, você pode instalar o CURL com o seguinte comando:
Ubuntu/Debian/Linux Mint:
$ sudo apt install curl -y
CENTOS/RHEL/FEDORA:
$ sudo dnf install curl -y
Uma vez Docker-Compose O arquivo binário é baixado, execute o seguinte comando:
$ sudo chmod +x/usr/local/bin/docker-comp
Agora, verifique se Docker-Compose O comando está funcionando da seguinte maneira:
Versão $ Docker-Compose
Ele deve imprimir as informações da versão, conforme mostrado na captura de tela abaixo.
Configurando o Docker compor para o projeto:
Agora, crie um diretório de projeto ~/docker/lâmpada (digamos) e um html/ diretório dentro do diretório do projeto para manter os arquivos do site (i.e. PHP, HTML, CSS, JS etc.) do seguinte modo:
$ mkdir -p ~/docker/lamp/html
Agora, navegue até o diretório do projeto ~/docker/lâmpada do seguinte modo:
$ cd ~/docker/lâmpada
Criar uma php.Dockerfile No diretório do projeto ~/docker/lâmpada. Este é um DockerFile que permite extensões de MySqli e PDO PHP: 7.4.3-Apache imagem do Docker Hub e cria uma imagem personalizada do Docker.
O conteúdo do php.Dockerfile é dado abaixo.
De Php: 7.4.3-ApacheCORRER
Docker-Php-Ext-Install MySqli PDO PDO_MYSQLAgora, crie um Docker-Compose.Yaml arquivo no diretório do projeto ~/docker/lâmpada e digite as seguintes linhas no Docker-Compose.Yaml arquivo.
Versão: "3.7 "O Docker-Compose.Yaml o arquivo deve parecer o seguinte.
Aqui, eu criei 3 serviços servidor web, MySQL-Server e phpmyadmin.
servidor web O serviço executará uma imagem do Docker personalizada, conforme definido em php.Dockerfile.
MySQL-Server Serviço vai executar o MySQL: 8.0.19 Imagem (de DockerHub) em um recipiente do docker.
phpmyadmin Serviço vai executar o phpmyadmin/phpmyadmin: 5.0.1 Imagem (do DockerHub) em outro recipiente do Docker.
Em MySQL-Server serviço, o Mysql_root_password A variável de ambiente é usada para definir o raiz Senha do MySQL.
Em phpmyadmin serviço, o Pma_host, pma_user, pma_password As variáveis de ambiente são usadas para definir o nome do host MySQL, nome de usuário e senha, respectivamente MySQL-Server serviço.
Em MySQL-Server serviço, todo o conteúdo do /var/lib/mysql diretório será salvo permanentemente no mysql-data volume.'
No servidor web serviço, a porta de contêiner 80 (à direita) é mapeado para a porta host do Docker 8080 (esquerda).'
No phpmyadmin serviço, a porta de contêiner 5000 (à direita) é mapeado para a porta host do Docker 80 (esquerda).
Além disso, crie um índice.php arquivo no html/ Diretório para testar o servidor de lâmpadas.
O conteúdo do índice.php arquivo no meu caso,
$ host = "mysql-server";Finalmente, o diretório do projeto ~/docker/lâmpada deve parecer o seguinte:
Iniciando o servidor de lâmpadas:
Agora, para começar o servidor web, MySQL-Server e phpmyadmin Serviços, execute o seguinte comando:
$ Docker -Compõe Up -d
Todos os serviços devem começar em segundo plano.
Para ver como as portas são mapeadas, execute o seguinte comando:
$ Docker-Compor PS
Como você pode ver, para o servidor web Serviço, a porta host do docker 8080 é mapeado para a porta TCP do contêiner 80.
Para o phpmyadmin Serviço, a porta host do docker 5000 é mapeado para a porta TCP do contêiner 80.
Encontrando o endereço IP do host do Docker:
Se você deseja acessar o servidor de lâmpadas de outros computadores em sua rede, você deve saber o endereço IP do seu host do Docker.
Para encontrar o endereço IP do seu host do Docker, execute o seguinte comando:
$ ip
No meu caso, o endereço IP do meu host do Docker 192.168.20.160. Vai ser diferente para você. Então, certifique -se de substituí -lo por seu a partir de agora.
Testando o servidor de lâmpadas:
Agora, você pode acessar o phpmyadmin 5 e o servidor da web a partir de um navegador da web.
Para acessar o phpmyadmin 5, abra um navegador da web e visite http: // localhost: 5000 do seu host do Docker ou visite http: // 192.168.20.160: 5000 de qualquer outro computador na rede.
phpmyadmin 5 deve carregar no seu navegador da web.
Agora, crie um App1 Banco de dados MySQL da Phpmyadmin.
Agora, visite http: // localhost: 8080 do seu host do Docker ou http: // 192.168.20.160: 8080 de qualquer outro computador em sua rede para acessar o servidor da web.
Você deveria ver o Conectado com sucesso mensagem. Isso significa que o PHP está funcionando e o servidor de banco de dados MySQL está acessível a partir do servidor web recipiente. Então, tecnicamente, o servidor de lâmpadas está totalmente funcional.
Parando o servidor de lâmpadas:
Para parar o servidor web, MySQL-Server e phpmyadmin Serviços, execute o seguinte comando:
$ docker-compor para baixo
O servidor web, MySQL-Server e phpmyadmin Os serviços devem ser interrompidos.
Limpando os dados do MySQL Server:
Se você deseja remover todos os dados e configurações do banco de dados MySQL, você deve remover o mysql-data volume.
Você pode encontrar o nome real do volume com o seguinte comando:
$ docker volume ls
Você pode remover o volume LAMP_MYSQL-DATA com o seguinte comando:
$ Docker Volume RM LAMP_MYSQL-DATA
Então, é assim que você configura um servidor de lâmpadas com Docker. Obrigado por ler este artigo.
Como você pode ver, o volume a remover é LAMP_MYSQL-DATA.