官网
https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1php
安装 docker-ce sudo apt-get install docker-ce
1)、每个 Docker container (容器)就是一个特定应用程序,启动后就是一个特定进程 2)、一个容器就是一项服务 本次环境: 宿主机 Ubuntu 18.04 已经安装了 nginx a).第一次宿主机已经安装过 LAMP b).第二次彻底卸载掉 apache2,可是在处理 docker php 的时候仍是会出现一些冲突和错误 c).第三次干脆从新安装了一个 ubuntu 虚拟机,处理好 nginx 和 apache 冲突以后 d).回到了第一次使用的宿主机继续学习 e).第三次的宿主机将用于重复操做和复习 本文假设: 须要单独部署一套 nginx 网站 (其实网站也是一个服务) 学习过程当中,容器内配置 nginx 能够直接从宿主机 cp 以后修改! 实际部署的时候,宿主机不必定就安装了 nginx 的
1)、下载 nginx docker docker search nginx docker pull nginx 2)、准备容器内网站须要的数据和配置 参考: https://blog.csdn.net/qq_26641781/article/details/80883192 建立挂载目录 sudo mkdir -p /data/nginx/{conf,conf.d,html,logs} cd /data/nginx/ ls conf conf.d html logs 在 html 下创建一个 index.html <h2>hello!</h2> <h1>WZH</h1> <h3>20181224</h3> 3)、建立 /data/nginx/ 的 nginx.conf 由于个人 host 已经安装了 nginx,能够直接从 /etc/nginx cp 他的 nginx.conf 过来! sudo cp /etc/nginx/nginx.conf /data/nginx/conf/nginx.conf 4)、建立并运行 nginx 容器 docker run --name mynginx -d -p 81:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -d nginx 参数说明: -p 81:80 将容器的 80 端口映射到宿主机的 81 端口(80 已经被宿主机本身的nginx占用) -v /data/nginx/html:/usr/share/nginx/html 将刚才建立的挂载目录(网站文件)挂载到容器的nginx网站文件目录 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf 将刚才建立的挂载目录(nginx配置文件)挂载到容器的nginx配置文件 -v /data/nginx/logs:/var/log/nginx 将刚才建立的挂载目录(log目录)挂载到容器的nginx log目录 -d 容器做为后台运行 5)、确认 docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ec2a48d62544 nginx "nginx -g 'daemon of…" 6 seconds ago Up 5 seconds 0.0.0.0:81->80/tcp mynginx
1)、宿主机本身的 nginx(端口:80) http://192.168.1.192
2)容器 mynginx(端口:81) http://192.168.1.192:81/
** 这里只验证 html 脚本,不处理 php 脚本 ** php 脚本网站放在 Docker php 学习里面处理
docker exec -it mynginx bash root@ec2a48d62544:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var cd /usr/share/nginx/html root@ec2a48d62544:/usr/share/nginx/html# ls index.html index.php info.php apt update apt install vim 修改一下 index.html 再来测试 http://192.168.1.192:81/
其实,直接修改 /data/nginx/html/ 的 index.html,结果是同样的!