一、安装Docker
进入官网:https://www.docker.com/products/docker-desktop
可能需要先注册登录,很简单的。
点击 Download Desktop for Mac and Windows 后进入下载流程
选择for windows,点击Next Step开始下载。
我下载回来的包500多M,还是比较大的,双击安装即可。
安装完成后,打开cmd,运行:
docker -v
能正常显示出当前docker的版本号说明安装成功。
二、运行Nginx镜像
先进入网易云镜像中心:
https://c.163yun.com/hub#/m/home/
搜索 nginx,
我们直接使用第一个最新的。点开后,直接点“复制”,然后在终端中执行。
执行后pull nginx镜像,如下图所示为成功。
我们可以运行:
docker images
来查看是否真的拉取成功。
可以看到,已经有了。
接下来,我们就可以运行这个nginx镜像了。
运行镜像有两种方式:前台、后台。
前台运行
# 前台运行 nginx docker run hub.c.163.com/library/nginx
通过上面的命令我们运行起了nginx,你会发现命令行什么反应都没有了(可以通过Ctrl + c来关闭)。
我们重开一个cmd,运行:
docker ps
查看是否成功运行了nginx。
可以看到,nginx正在运行。我们在之前的窗口Ctrl + c关闭它后,再运行 docker ps ,进程就会被关闭了。
后台运行
# 后台运行 nginx # 增加参数 -d (detach) ,意思就是在后台运行镜像,返回镜像id docker run -d hub.c.163.com/library/nginx
执行后,
可以看到第一个就是了。
进入容器内部
docker exec命令用于进入容器内部, -it 是这个命令的可选参数。-i 表示保证我们输入有效,-t 是给我们分配一个伪终端,多个参数可以连起来写,就成了 -it
参数后边是容器名称或id,可以只输入开头的几个字符,它就会自动帮我们识别到。
那么接下来,我们运行命令:
docker exec -it 46a bash
# 46a 是我们上面运行的容器id头三位,您需要换成自己的
可以看到像是进入了一个新的主机。其实这确认是一个虚拟主机,因为我们的nginx本来就是运行在linux容器上,在这里我们可以执行linux的命令。
我们可以通过命令
which nginx
来查看nginx在什么位置
然后可以通过 exit 命令退出到之前的主机。
exit
停止容器
# docker stop [容器id]
docker stop 46a
三、让浏览器可以访问
我们上面虽然启动了nginx,但你可能已经发现,我们在浏览器中无法访问容器中的nginx。
我们先停止已经启动的容器,再执行下面的命令:
docker run -d -p 8080:80 hub.c.163.com/library/nginx
如果windows弹出防火墙提示,点击允许访问。
这个时候我们再来通过netstat命令检查一下是否真的打开了 8080端口
netstat -na|grep 8080
可以看到,已经是监听状态了。我们直接在浏览器中打开试试。
完成。