Projeto Docker com PHP, MySQL, Composer e phpMyAdmin configurado para desenvolvimento de aplicações WebSocket usando Ratchet.
- Docker
- Docker Compose
- PHP 8.2 com Apache
- MySQL 8.0
- Composer para gerenciamento de dependências
- phpMyAdmin para gerenciamento do banco de dados
- Ratchet para WebSockets
git clone <seu-repositorio>
cd websocket-ratchet# Construir e iniciar todos os serviços
docker-compose up -d --build
# Ou apenas iniciar (se já foi construído)
docker-compose up -d# Executar Composer dentro do container
docker-compose run --rm composer install# Entrar no container
docker compose exec php bash# Dentro do container
php server.php- Aplicação PHP: http://localhost:8080
- phpMyAdmin: http://localhost:8081
- MySQL: localhost:3306
websocket-ratchet/
├── docker/
│ ├── php/
│ │ └── php.ini # Configurações PHP
│ └── mysql/
│ └── init.sql # Script de inicialização MySQL
├── src/ # Arquivo de teste
├── docker-compose.yml # Configuração principal
├── docker-compose.override.yml # Configuração de desenvolvimento
├── Dockerfile # Imagem PHP personalizada
└── README.md # Este arquivo
# Iniciar serviços
docker-compose up -d
# Parar serviços
docker-compose down
# Ver logs
docker-compose logs -f
# Reconstruir containers
docker-compose up -d --build# Instalar dependências
docker-compose run --rm composer install
# Adicionar nova dependência
docker-compose run --rm composer require nome-do-pacote
# Atualizar dependências
docker-compose run --rm composer update# Acessar MySQL via linha de comando
docker-compose exec mysql mysql -u root -p
# Backup do banco
docker-compose exec mysql mysqldump -u root -p websocket_ratchet > backup.sql# Query a ser adicionada no banco de dados
CREATE TABLE `comments` (
`comment_id` int NOT NULL AUTO_INCREMENT,
`comment_subject` varchar(250) NOT NULL,
`comment_text` text NOT NULL,
`comment_status` int NOT NULL DEFAULT '0',
PRIMARY KEY (`comment_id`)
) ENGINE=InnoDB;DB_HOST: mysqlDB_PORT: 3306DB_DATABASE: websocket_ratchetDB_USERNAME: rootDB_PASSWORD: password
- PHP/Apache: 8080
- phpMyAdmin: 8081
- MySQL: 3306
- URL: http://localhost:8081
- Usuário: root
- Senha: password
- Servidor: mysql
# Verificar logs
docker-compose logs
# Reconstruir sem cache
docker-compose build --no-cache# Corrigir permissões
sudo chown -R $USER:$USER ./src# Aguardar MySQL inicializar
docker-compose logs mysql
# Verificar se o container está rodando
docker-compose ps# Verificar se o MySQL está rodando
docker-compose ps mysql
# Verificar logs do phpMyAdmin
docker-compose logs phpmyadmin- Configure seu projeto PHP na pasta
src/ - Adicione suas dependências no
composer.json - Configure seu banco de dados no
docker/mysql/init.sql - Use o phpMyAdmin para gerenciar seu banco de dados
- Desenvolva sua aplicação WebSocket com Ratchet!
- Faça um fork do projeto
- Crie uma branch para sua feature
- Commit suas mudanças
- Push para a branch
- Abra um Pull Request
https://www.youtube.com/watch?v=Ah96QVIoWNg&ab_channel=Webslesson
Este projeto está sob a licença MIT.