1、在Docker容器中部署靜態網站

 

建立Docker容器

docker run -p 80 --name web -i -t ubuntu /bin/bash

建立一個命名爲web的ubuntu容器, 具體的命令參數可查閱官方文檔。linux

安裝Nginx

  執行完上面的命令後, 程序會自動進入容器中, 咱們經過Nginx提供web服務,首先執行一下:nginx

apt-get update

避免沒法安裝軟件。web

再來安裝Nginx服務程序:docker

apt-get install -y nginx

安裝完後,執行ngixn 命令啓動nginx的服務。而後經過系統命令top或者ps -ef  查看nginx的啓動狀況。ubuntu

後臺運行容器

    若是想讓容器一直運行,而且退出bash命令界面,可安裝ctrl鍵的同時按p, 再按q鍵 退出容器的命令界面。瀏覽器

會看到有 「read escape sequence」的提示。bash

容器運行狀態

docker ps

查看web容器的運行狀態。curl

本地端口映射

咱們在建立容器時,並無將容器的80端口手動映射到本地,那麼程序會自動映射到本地的隨機一個端口,查看對應端口命令:tcp

docker port web(容器的名稱/ID)

 結果:測試

80/tcp -> 0.0.0.0:32770

docker命令查看容器中進程

docker top web

結果:

aaab@linux:~$ docker top web
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                20662               20644               0                   10:59               pts/0               00:00:00            /bin/bash
root                20775               20662               0                   10:59               ?                   00:00:00            nginx: master process nginx
www-data            20776               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20777               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20778               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20781               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20782               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20783               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20784               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20785               20775               0                   10:59               ?                   00:00:00            nginx: worker process
g

網站訪問

既然容器的web服務已經開啓,那麼能夠經過容器的IP來訪問web站點。如何獲取容器的ip ?

docker inspect web(容器名稱/ID)

從結果中能夠找到對應的IP,本次測試所得到IP是 172.17.0.2 因此咱們能夠經過curl或者本地瀏覽器來訪問http://172.17.0.2  

或者經過inpsect 或者 docker port web 命令查找出映射到本地端口, 經過本地IP+端口的形式訪問, 192.168.1.158:32700

此處要注意的是: 若是容器重啓IP或者映射本地的端口都將可能發生變化, 若是沒有手動設置。

 

重啓web容器後, nginx沒有運行。

能夠動過docker exec  web nginx 命令, 開啓nginx服務。

 

另外記錄一點:

stop狀態下, 可經過docker start -i web 直接進入容器命令界面。

在後臺模式,能夠經過docker attach web 命令進入命令界面。

相關文章
相關標籤/搜索