docker-compose php56/php72/php74/php80/php81/php82/mysql/nginx/redis/swoole/mongodb
MIT License
DNMP Docker PHP
DockerHub
composer:2.2.x swoole:1.10.5 redis:4.3.0
composer:2.5.7 swoole:4.8.13 redis:5.3.7 mongodb:1.15.3
composer:2.5.7 swoole:4.8.13 redis:5.3.7 mongodb:1.15.3
composer:2.5.7 swoole:5.0.3 redis:5.3.7 mongodb:1.15.3
composer:2.5.7 swoole:5.0.3 redis:5.3.7 mongodb:1.15.3
composer:2.5.7 swoole:5.0.3 redis:5.3.7 mongodb:1.15.3
dnmp
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 ...]
dnmpredis
config/redis/redis.conf requirepass dnmp
#
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
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
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
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
sudo service docker start
sudo docker info
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
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