docker run -p 80 --name web -i -t ubuntu /bin/bash
建立一個命名爲web的ubuntu容器, 具體的命令參數可查閱官方文檔。linux
執行完上面的命令後, 程序會自動進入容器中, 咱們經過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 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 命令進入命令界面。