dnmp

docker-compose php56/php72/php74/php80/php81/php82/mysql/nginx/redis/swoole/mongodb

MIT License

Stars
17

DNMP Docker PHP

DockerHub

  • apt-getphp composer

  • Ningxlatest
  • PHP56php-fpm 5.6.x composer:2.2.x swoole:1.10.5 redis:4.3.0
  • PHP72php-fpm 7.2.x composer:2.5.7 swoole:4.8.13 redis:5.3.7 mongodb:1.15.3
  • PHP74php-fpm 7.4.x composer:2.5.7 swoole:4.8.13 redis:5.3.7 mongodb:1.15.3
  • PHP80php-fpm 8.0.x composer:2.5.7 swoole:5.0.3 redis:5.3.7 mongodb:1.15.3
  • PHP81php-fpm 8.1.x composer:2.5.7 swoole:5.0.3 redis:5.3.7 mongodb:1.15.3
  • PHP82php-fpm 8.2.x composer:2.5.7 swoole:5.0.3 redis:5.3.7 mongodb:1.15.3
  • MySQL5.7
  • Redislatest dnmp
  • Mogodb: latest admin admin admin

dnmp
|----/build                  
|----/config                 
|----/data                   
|----/www                    WEB
|----/.env-example           
|----/docker-compose.yml     docker compose 
|----/docker-compose-hub.yml docker compose Docker Hub

Docker Docker

cd ~/
git clone --depth 1 https://github.com/telanflow/dnmp.git

cd dnmp
cp .env-example .env

# 
vim .env

# Docker Hub
sudo docker-compose -f docker-compose-hub.yml up -d

# 
sudo docker-compose up --build -d

# 
sudo docker-compose up --build -d [nginx|php56|php72|php74|php80 ...]

# 
sudo docker-compose build --no-cache [nginx|php56|php72|php74|php80 ...]

dnmpredisconfig/redis/redis.conf requirepass dnmp

http://localhost

# 
sudo docker-compose ps

# -d 
sudo docker-compose up -d [nginx|php56|php74|php80 ...]

# 
sudo docker-compose start [nginx|php56|php74|php80 ...]

# 
sudo docker-compose stop [nginx|php56|php74|php80 ...]

# 
sudo docker-compose restart [nginx|php56|php74|php80 ...]

# 
sudo docker-compose down [nginx|php56|php74|php80 ...]

# 
sudo docker rm $(sudo docker ps -a -q)

# -f 
sudo docker rmi $(sudo docker images -q)

# dnmp
sudo docker rm $(sudo docker ps -a | grep dnmp | awk '{print $1}')

#  docker images -a  none 
sudo docker system prune

# 
docker exec -it [dnmp-nginx|dnmp-redis|dnmp-php74|dnmp-php80| ...] bash

sudo docker -h sudo docker-compose -h

# Nginx
/etc/nginx          
/etc/nginx/html     .env WWW_DIR

# PHP
/etc/nginx/html     .env WWW_DIR
/usr/local/etc       `config`

# Mysql
/etc/mysql           

# Redis
/usr/local/etc/redis 

php

# 1 dnmp/build/php/Dockerfile
# 2
sudo docker-compose build --no-cache [php56|php74|php80 ...]

php MySQL Redis

<?php

    echo "<pre>";

    //  MySQL
    $user = "root";
    $pass = "root";
    $dbh = new PDO('mysql:host=mysql;dbname=mysql', $user, $pass);
    
    foreach($dbh->query('SELECT * from user') as $row) {
        print_r($row);
    }

    echo "<br />";

    //  Redis
    $redis = new Redis();
    $redis->connect('redis', 6379);
    $redis->set("test-key","hello");
    echo "Stored string in redis:: " . $redis->get("test-key");
    
    //  Mongodb
    $manager = new MongoDB\Driver\Manager("mongodb://mongodb:27017");

redis.conf ip 127.0.0.1 php 0.0.0.0 log path

Docker

docker21

1 daocloud

#  install docker-ce=17.03.1*  install docker-ce 
https://download.daocloud.io/Docker_Mirror/Docker

2ubuntu

apt-get update && apt install docker.io    

docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Docker

sudo service docker start
sudo docker info

DockerHub

2024-06-06 Docker Hub Docker daemon

~~ https://cr.console.aliyun.com ->~~

DaoCloud http://guide.daocloud.io/dcs/daocloud-9153151.html

https://www.qcloud.com/document/product/457/7207

Docker Hub

2024-06-18 Docker Hub

Ubuntu 16.04+Debian 8+CentOS 7+

/etc/docker/daemon.json

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://hub.uuuadc.top",
        "https://docker.anyhub.us.kg",
        "https://dockerhub.jobcher.com",
        "https://dockerhub.icu",
        "https://docker.ckyl.me",
        "https://docker.awsl9527.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

License

MIT License