前兩篇算是對
Docker
作了大體的介紹,而後如今開始,就是Docker
的實際運用了,先從一個簡單的靜態網站的部署開始。php
Docker
基礎概念Docker
容器的基本操做以網站服務爲例,通常須要80
端口,那麼如何使容器的端口能被外界訪問獲得呢?這就要用到容器的端口映射。html
run [-P] [-p]
nginx
-p
--publish = []web
docker run -p 80 -i -t /bin/bash
- 宿主機端口隨機映射docker run -p 8080:80 -i -t /bin/bash
- 宿主機端口:容器端口 指定映射docker run -p 0.0.0.0:80 -i -t /bin/bash
- 指定IP的端口映射docker run -p 0.0.0.0:8080:80 -i -t /bin/bash
- 指定IP和端口的映射部署Nginx須要如下步驟:docker
$ docker run -p 80 --name Nginx_Web -i -t ubuntu /bin/bash
複製代碼
$ apt-get install -y nginx
複製代碼
若提示未發現軟件,使用apt-get update
更新源ubuntu
$ apt-get install -y vim
複製代碼
先建立網站目錄,而後使用vim編輯網頁vim
$ mkdir -p /var/www/html
$ cd /var/www/html
$ vim index.html
複製代碼
輸入一個基本的html
內容,:wq
指令保存並退出!bash
$ cd /etc/nginx/
$ ls
$ vim /sites-enabled/default
複製代碼
檢查root的默認路徑,確認其爲剛剛建立的/var/www/html
curl
一樣:wq
指令保存並退出!編輯器
關於Nginx的配置能夠參考以前的博客
$ nginx
$ ps -ef
複製代碼
運行nginx
,可使用ps
指令來查看
Ctrl+P
+ Ctrl+Q
切出容器,使用docker ps
查看容器狀態
若無公網IP,則直接使用curl
命令才訪問
$ curl http://127.0.0.1:32769
複製代碼
注意:這裏的端口號使用剛纔ps中顯示的端口號,也可使用docker port Nginx_Web
來查看端口
若是有外網或者域名解析,則能夠直接訪問驗證。
或者使用容器的ip地址訪問(宿主機內部)
使用docker inspect Nginx_Web
查看IP地址,並直接訪問,此處略過。
退出容器後,nginx服務中止,使用start
指令啓動會,nginx並不會自動啓動。
此時可使用docker exec Nginx_Web nginx
來附加指令使nginx啓動,並正常運行。
注意:若不指定,退出並從新啓動後的容器的端口和IP都會改變.