需要有docker的环境
1,拉取nginx镜像
docker pull nginx:latest
2,查看镜像(可选)
docker image ls
3,生成并运行容器
docker run --name nginx -p 80:80 -d nginx
或者交互运行nginx,可进入容器内部[3]:
docker run -it -p 80:80 nginx
打开centos自带的火狐浏览器,输入localhost,可以看到nginx运行成功。
此外如果是以-it运行容器,terminal会停在这里,不是容器没有运行成功,再打开一个终端就好,如果在原终端Ctrl+C虽然会恢复可输入命令状态,但是就会把Docker停掉了。
4,查看虚拟机Ip
通过ip addr
命令查看虚拟机Ip,在虚拟机中输入localhost或者ip:80或者直接ip,就可以看到nginx首页了[1]:
ip addr
5,关闭Linux防火墙
最后还要注意,需要关闭Linux的防火墙才能访问nginx的服务[2]。
命令如下:
关闭防火墙
systemctl stop firewalld.service
禁止开机启动启动防火墙=
systemctl disable firewalld.service
但是经实际测试,Linux虚拟机需要关闭防火墙,win10不用关。
6,win10访问nginx
在win10浏览器中输入查出的ip:端口,win10就可以成功访问linux虚拟机的nginx服务了!
注意,停掉容器再次启动可能会遇到无法run或start容器的问题,提示信息:
Error response from daemon: driver failed programming external connectivity on endpoint...
这不是容器的问题,而是由于关闭防火墙和docker冲突导致的[4]。重启Linux即可解决问题。
参考资料:
[1],【Linux】如何查看Linux的Ip
[2],【Linux】如何关闭Linux防火墙
[3],docker安装_进入容器修改nginx.conf配置文件_宿主主机挂载(nginx举例)
[4],docker出现Error response from daemon: driver failed programming external connectivity on endpoint解决方法