Docker漸入佳境

前兩篇算是對Docker作了大體的介紹,而後如今開始,就是Docker的實際運用了,先從一個簡單的靜態網站的部署開始。php

容器端口映射

以網站服務爲例,通常須要80端口,那麼如何使容器的端口能被外界訪問獲得呢?這就要用到容器的端口映射。html

run [-P] [-p]nginx

-p --publish = []web

  • containerPort - docker run -p 80 -i -t /bin/bash - 宿主機端口隨機映射
  • hostPort:containerPort - docker run -p 8080:80 -i -t /bin/bash - 宿主機端口:容器端口 指定映射
  • IP:containerPort - docker run -p 0.0.0.0:80 -i -t /bin/bash - 指定IP的端口映射
  • ip:hostPort:containerPort docker run -p 0.0.0.0:8080:80 -i -t /bin/bash - 指定IP和端口的映射

Nginx部署靜態網站

部署Nginx須要如下步驟:docker

建立映射80端口的交互式容器

$ docker run -p 80 --name Nginx_Web -i -t ubuntu /bin/bash
複製代碼

安裝Nginx

$ apt-get install -y nginx
複製代碼

若提示未發現軟件,使用apt-get update更新源ubuntu

安裝文本編輯器vim

$ apt-get install -y vim
複製代碼

建立靜態頁面

先建立網站目錄,而後使用vim編輯網頁vim

$ mkdir -p /var/www/html
$ cd /var/www/html
$ vim index.html
複製代碼

輸入一個基本的html內容,:wq指令保存並退出!bash

修改Nginx配置文件

$ cd /etc/nginx/
$ ls
$ vim /sites-enabled/default
複製代碼

檢查root的默認路徑,確認其爲剛剛建立的/var/www/htmlcurl

一樣:wq指令保存並退出!編輯器

關於Nginx的配置能夠參考以前的博客

運行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來查看端口

curl

若是有外網或者域名解析,則能夠直接訪問驗證。

web

或者使用容器的ip地址訪問(宿主機內部)

使用docker inspect Nginx_Web查看IP地址,並直接訪問,此處略過。

退出容器後操做

退出容器後,nginx服務中止,使用start指令啓動會,nginx並不會自動啓動。

此時可使用docker exec Nginx_Web nginx來附加指令使nginx啓動,並正常運行。

注意:若不指定,退出並從新啓動後的容器的端口和IP都會改變.

相關文章
相關標籤/搜索