1. 程式人生 > >springboot與docker整合三部曲之docker安裝

springboot與docker整合三部曲之docker安裝

springboot專案與docker整合,首先需要的是安裝docker,這裡介紹在windows上安裝docker。

windows上安裝docker,其實是藉助virtualbox安裝了一個boot2docker-vm的虛擬機器,另外提供了一個類linux的命令列工具mingw32操作介面,可以通過docker ps,docker images,docker run ,docker start, docker stop等命令操作映象與容器。

安裝過程中,會提示安裝virtualbox,gitshell,boot2docker啟動工具等。安裝完成,桌面會多出兩個圖示,virtualbox,boot2docker

start。我們點選boot2docker start,啟動docker環境,這時候會啟動virtualbox,並在virtualbox中啟動一個虛擬機器。

啟動成功之後,開啟virtualbox:

點選顯示,我們看到虛擬機器boot2docker-vm開啟了docker環境:

我們回到mingw32命令列,可以執行docker images,docker ps命令。

接下來,我們拉取一個centos7映象到本地。

docker pull centos:latest

拉取速度試網速而定,我這裡拉取時輸出資訊將螢幕遮蓋,就不截圖了。可以看到拉取成功,我們的images列表會多出一個名為centos,tag為latest的映象,後面的實驗我們就通過這個基礎映象來做。

我們先利用centos:latest映象啟動一個容器:

docker run -d -t --name pythonserver -p 8000:8000 centos

如果不出意外,容器啟動成功,通過docker ps可以看到啟動的容器。

為了驗證容器可以正常工作,我們進入容器,啟動一個python http服務。

docker exec -it pythonserver bash

python2上面啟動一個http服務,可以通過 python -m SimpleHTTPServer命令。

python3上面啟動一個http服務,可以通過python -m http命令。

監聽埠是8000,我們在啟動容器的時候就指定了埠對映 -p 8000:8000,pythonserver容器的8000埠對映到boot2docker-vm虛擬機器的8000埠,但是這並不是我們宿主機,也就是win7主機的8000埠,需要我們在virtualbox的settings中設定埠轉發,如下:

 這樣,我們可以通過win7主機上的瀏覽器直接訪問python http服務。

http://localhost:8000/

這裡,我們的容器經過兩次埠對映,最終可以通過win7主機訪問,比直接在linux上搭建docker環境稍微複雜了一點。原因就是windows上的docker環境其實是運行了一個linux虛擬機器。我們在gitshell上通過docker ps,docker images等命令操作容器或者映象,其實最終通過呼叫了boot2docker-vm虛擬機器來幫我們做了。如果我們的虛擬機器有問題,可以通過boot2docker ssh進入虛擬機器,如下:

至此,我們完成了windows環境上docker環境搭建,以及映象拉取,容器啟動等準備工作,接下來可以通過基礎映象製作我們的容器。讓容器可以執行java專案。