這次使用nginx創建一個建檔的網頁鏡像,之前docker的安裝不會的可以自行查看上篇文章。接下來進入實操步驟.
1.新建一個空目錄test1,並在test1目錄下創建一個index.html文件,文件內容可以隨便。實際代碼如下:
[root@localhost docker]# mkdir test1 [root@localhost docker]# cd test1/ [root@localhost test1]# vim index.html
2.在test1目錄下新建Dockerfile文件,並輸入以下代碼,保存退出。
#通過nginx最新版本鏡像構建 FROM nginx #添加當前目錄文件到鏡像目錄 ADD . /usr/share/nginx/html #暴漏容器運行時的監聽端口給外部 #EXPOSE 80
EXPOSE:功能為暴漏容器運行時的監聽端口給外部,但是EXPOSE並不會使容器訪問主機的端口,如果想使得容器與主機的端口有映射關系,必須在容器啟動的時候加上 -P參數。
-P:大寫P為自動映射,會將EXPOSE暴露出來的端口隨機映射到宿主機的端口上,如果沒有暴露端口,就不會有映射。
-p:小寫p為手動映射,需要自己指定宿主機的端口和容器的端口,形式為:
-p 宿主機端口:容器端口
總結:
(1)無論有沒有暴露端口、自動映射或者手動映射,宿主機都可以通過容器ip+80(隨nginx監聽端口改變而改變)端口訪問服務;
(2)要通過宿主機ip+端口的方式訪問服務,宿主機的端口必須與容器端口有映射關系;
(3)如果沒有暴露端口,-P自動映射不會映射任何端口,-p可以指定宿主機端口和容器端口形成映射。
3.文件保存后,開始構建鏡像文件,輸入命令:docker build -t demo1 .
#注意:demo1后面有個".",千萬不要忘記!!!
命令執行完后出現以下界面說明構建成功。
4.通過鏡像構建新的容器,出現下面提示說明容器構建成功。
[root@localhost test1]# docker run --name demo1 -p 8081:80 -d demo1 e0d7f83c5d0c0b9bd7c7010fca23c8fadb25a6f4a74d0622a8966ab942caa0c6 [root@localhost test1]#
5.輸入 curl 127.0.0.1:8081 訪問,出現以下界面.
至此,一個簡單的網頁鏡像就構建完成了。
水平有限,有問題歡迎指正。