标签:opt cli -- lnmp nginx link docker
docker-cli
部署DNMP(docker + nginx + mysql(MariaDB)+ PHP-FPM
环境部署
root@docker-debian:~# mkdir -p /opt/cli-lnmp/mysql
root@docker-debian:~# mkdir -p /opt/cli-lnmp/html
root@docker-debian:~# mkdir -p /opt/cli-lnmp/nginx
root@docker-debian:~# docker run -d --name test nginx
2a36d4bc789491f74c16960522db8cf4c4b8cc4850c98ba89b185ab4608b779c
root@docker-debian:~# cd /opt/cli-lnmp/html/
root@docker-debian:/opt/cli-lnmp/html# docker cp test:/etc/nginx/conf.d/default.conf ./
root@docker-debian:/opt/cli-lnmp/html# docker stop test
test
root@docker-debian:/opt/cli-lnmp/html# docker rm test
test
root@docker-debian:/opt/cli-lnmp/html#
容器部署
root@docker-debian:~# docker run -itd --name cli-mysql --restart=always -v /opt/cli-lnmp/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="PObejCBeDzTRCncXwgBy" -e MYSQL_DATABASE="wordpress" -e MYSQL_USER="wordpress" -e MYSQL_PASSWORD="MMS12ge**hao" mysql:latest
root@docker-debian:~# docker run -itd --name cli-php -v /opt/cli-lnmp/html:/var/www/html --link cli-mysql:mysql --restart=always php:fpm
root@docker-debian:~# docker run -itd --name cli-nginx -v /opt/cli-lnmp/nginx:/etc/nginx/conf.d -v /opt/cli-lnmp/html:/usr/share/nginx/html -p 8083:80 --restart=always --link cli-php:phpfpm nginx:latest
掌握容器创建、运行、重新连接等命令,以及常用参数。
命令 |
备注 |
docker run |
创建一个新的容器并运行一个命令 |
参数 |
备注 |
-i |
以交互模式运行容器 |
-t |
为容器重新分配一个伪输入终端 |
-d |
在后台运行容器 |
--name |
容器的命名 |
--restart |
容器的重启策略 |
-v |
映射卷 |
-e |
环境变量设置,设置一些容器内容 |
-i 和 -t 一般都是同时使用,如果没有比如缺少 -i 则输入指令就没有回应,如果没有 -t 则没有显示
掌握容器内外文件相互复制,容器外运行容器内命令。
docker cp :用于容器与主机之间的数据拷贝
命令 |
备注 |
docker cp 容器:路径 主机路径 |
将容器内的数据复制到主机下 |
docker cp 主机路径 容器:路径 |
将主机的数据复制到容器内 |
docker exec:在运行的容器中执行命令
命令 |
备注 |
docker exec -it 容器名称 解释器(shell) |
建立一个交互终端,进入容器 |
root@docker-debian:~# cat cli-lnmp.sh
#!/bin/bash
# This is a shell of lnmp container.
docker run -itd --name cli-mysql \
--restart=always \
-v /opt/cli-lnmp/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD="PObejCBeDzTRCncXwgBy" \
-e MYSQL_DATABASE="wordpress" \
-e MYSQL_USER="wordpress" \
-e MYSQL_PASSWORD="MMS12ge**hao" \
mysql:latest
docker run -itd --name cli-php \
-v /opt/cli-lnmp/html:/var/www/html \
--link cli-mysql:mysql \
--restart=always \
php:fpm
docker run -itd --name cli-nginx \
-v /opt/cli-lnmp/nginx:/etc/nginx/conf.d \
-v /opt/cli-lnmp/html:/usr/share/nginx/html \
-p 8083:80 \
--restart=always \
--link cli-php:phpfpm \
nginx:latest
root@docker-debian:~# bash cli-lnmp.sh
88885ee960885095db1c98f8d60b02a4af60cb98d06e1e843cd25a69999178f6
8ca0ee147888dbc94400fdf2c4d29f435fd6ddd854af64f1530598b74e3ee693
f1046097adc3dd4b046329132ad0bd0998fea0c8a90d96a05c764b821e210025
root@docker-debian:~#
配置文件部署
<?php
$con = new mysqli("容器名称","数据库用户","用户密码");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
echo "连接成功";
?>
在nginx容器中部署wordpress
标签:opt,
cli,
--,
lnmp,
nginx,
link,
docker
From: https://www.cnblogs.com/wm-plengong/p/16992837.html