Ambiente remoto PHP MySql
Come utilizzare un ambiente PHP Mysql da locale a Remoto
Trasferire i container Docker per PHP e MySQL in Produzione
Hosting Remoti che Supportano Docker
- DigitalOcean: Offre droplet (VPS) su cui puoi installare Docker.
- Amazon Web Services (AWS): Con servizi come AWS ECS (Elastic Container Service) e AWS EKS (Elastic Kubernetes Service).
- Google Cloud Platform (GCP): Con servizi come Google Kubernetes Engine (GKE).
- Microsoft Azure: Con servizi come Azure Kubernetes Service (AKS).
- Heroku: Supporta il deploy di container Docker.
- Linode: Offre VPS con supporto Docker.
- Vultr: Offre VPS con supporto Docker.
Passaggi per Trasferire i Container Docker in Produzione
Prerequisiti
- Account presso un provider di hosting che supporta Docker.
- Accesso SSH al server remoto o accesso al pannello di gestione del cloud provider.
- Docker e Docker Compose installati sul server remoto**.
Installare Docker e Docker Compose sul Server Remoto
I comandi per installare Docker e Docker Compose.
# Installa Docker
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
# Installa Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Trasferire i File al Server Remoto
# Utilizzo di scp
scp -r /path/to/your_project your_user@your_server_ip:/path/to/destination
# Utilizzo di rsync
rsync -avz /path/to/your_project your_user@your_server_ip:/path/to/destination
Configurare Docker Compose per la Produzione
Modificare il file `docker-compose.yml` se necessario per l'ambiente di produzione, ad esempio, configurando volumi persistenti e variabili d'ambiente sicure.
version: '3.8'
services:
web:
image: php:8.0-apache
container_name: php_web
volumes:
- ./src:/var/www/html
ports:
- "80:80"
depends_on:
- db
db:
image: mysql:latest
container_name: mysql_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: my_database
MYSQL_USER: user
MYSQL_PASSWORD: user_password
volumes:
- db_data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
restart: always
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: root_password
ports:
- "8081:80"
depends_on:
- db
volumes:
db_data:
Avviare i Container sul Server Remoto
7. **** Avviare i container in modalità detached.
cd /path/to/destination/your_project
docker-compose up -d
Accesso ai Servizi
-
Applicazione PHP: Accedere tramite il dominio o l'IP pubblico del server.
-
PhpMyAdmin: Accedere tramite `http://your_server_ip:8081`.