1. 安装NGINX
(1)查找 上的 nginx 镜像 docker search nginx
(2)拉取 上的 nginx 镜像 docker pull nginx (这里拉取最新的镜像)
(3)NGINX 部署 将镜像容器内的NGINX映射到真实机器上
$ docker run -d -p 8082:80 --name runoob-nginx-test-web -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx
命令说明:
-p 8082:80: 将容器的 80 端口映射到主机的 8082 端口。
--name runoob-nginx-test-web:将容器命名为 runoob-nginx-test-web。
-v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。
-v ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。
$ cd ~/nginx/www
在www文件夹内创建一个index.html 内容随便, 访问真实机器的0.0.0.0:8082 可以看到index.html的内容说明NGINX部署成功
2.部署PHP
(1)查找Docker Hub上的php镜像
(2)拉取Docker Hub上的php镜像 我们拉取官方的镜像,标签为5.6-fpm 之后运行docker images 看到php 5.6-fpm就说明我们拉取成功了
(3)
Nginx 部署可以查看:,一些 Nginx 的配置参考这篇文章。
启动 PHP:
$ docker run --name myphp-fpm -v ~/nginx/www:/www -d php:5.6-fpm
命令说明:
--name myphp-fpm : 将容器命名为 myphp-fpm。
mkdir ~/nginx/conf/conf.d
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
}
配置文件说明:
启动 nginx:
docker run --name my-php-nginx -p 8083:80 -d -v ~/nginx/www:/usr/share/nginx/html:ro -v ~/nginx/conf/conf.d:/etc/nginx/conf.d:ro --link myphp-fpm:php nginx :ro
指定为只读。
(5)浏览器打开 http://127.0.0.1:8083/index.php,显示phpinfo 信息就说明成功了
3.部署mysql
(1) 查找Docker Hub上的mysql镜像
(2)拉取Docker Hub上的mysql镜像 (这里拉取 mysql:5.6)docker images 看到有mysql就说明成功了
(3)使用mysql镜像并运行容器
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
21cb89213c93d805c5bacf1028a0da7b5c5852761ba81327e6b99bb3ea89930e
命令说明:
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
(4) docker ps 查看mysql运行情况
CONTAINER ID IMAGE COMMAND ... PORTS NAMES
21cb89213c93 mysql:5.6 "docker-entrypoint.sh" ... 0.0.0.0:3306->3306/tcp mymysql
4.部署phpmyadmin
(1)在Docker Hub 上查找 PHPmyadmin
(2)拉取phpmyadmin docker pull phpmyadmin/phpmyadmin (这里拉取的是官方的)
(3)运行PHPmyadmin
docker run --name phpmyadmin -d --link mymysql:db -p 8080:80 phpmyadmin/phpmyadmin 这里的mymysql是上面以经运行了的容器。 如果 运行 http://localhost:8080 看到phpmyadmin 就说明我们成功了。
到此文章结束。
写的不好,感谢阅读!