一、安裝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
可以看到,已經是監聽狀態了。我們直接在瀏覽器中打開試試。
完成。